DES Encrypt
Encrypt text with DES or Triple DES (legacy compatibility).
Encrypt text with DES or Triple DES in your browser. Legacy compatibility only. Read more Show less
What is DES?
DES (Data Encryption Standard) is a 64-bit block cipher with a 56-bit key, standardized in 1977 and broken by brute force in 1998. It is no longer secure. This tool is provided so that users with legacy data can decrypt it without installing anything.
Triple DES (3DES) applies DES three times with either two or three independent keys, giving 112 or 168 bits of security. It was the migration path from DES to AES and is still found in banking, POS terminals, and older TLS stacks. NIST formally disallowed it for new applications after 2023.
How to use
Enter your plaintext, enter a password, choose the variant, press Encrypt. The output is a single Base64 string containing the random salt, random IV, and ciphertext. Copy it and paste into DES Decrypt with the same password and variant.
Mode is CBC with PKCS#7 padding, matching every classic implementation you will find in OpenSSL, Java, and .NET.
FAQ
Why is the output different every time?
Because a fresh random salt and IV are generated for every encryption. The same password and plaintext will produce different ciphertext each time. That is correct and desirable.
Can I decrypt data from another tool?
Only if that tool uses the exact same format: base64(salt ? iv ? ciphertext), with the key derived from the password using PBKDF2-SHA-256 at 100,000 iterations. Most older tools use OpenSSL's EVP_BytesToKey instead. If you need OpenSSL-compatible output, use openssl enc -des3 directly.
Is this tool safe?
The tool itself runs entirely in your browser - nothing is uploaded. But DES and 3DES are weak ciphers. Do not use them to protect new secrets. Do not assume a password-encrypted blob is safe just because it looks encrypted.
Triple DES with two keys or three keys?
This tool always derives a 24-byte key, which is the three-key variant (168-bit nominal). The two-key variant (112-bit) uses the same bytes for the first and third key. If your data was encrypted with two-key 3DES, decrypt it with a native library rather than this tool.
Command line equivalent
# OpenSSL 3.x
echo -n "hello" | openssl enc -des-cbc -k "password" -pbkdf2 -iter 100000 -base64
echo -n "hello" | openssl enc -des-ede3-cbc -k "password" -pbkdf2 -iter 100000 -base64
# Node with crypto-js
npm i crypto-js
node -e 'const C = require("crypto-js");
console.log(C.DES.encrypt("hello", "password").toString());
console.log(C.TripleDES.encrypt("hello", "password").toString());'