How to use the AES Encrypt & Decrypt
- Choose Encrypt or Decrypt and the format.
- Enter a strong password.
- Paste the text and click the button.
- To decrypt later you need the same password and format — store the password safely.
Two formats
| AES-256-GCM (default) | OpenSSL AES-256-CBC | |
|---|---|---|
| Cipher | AES-256 in Galois/Counter Mode — authenticated | AES-256 in CBC mode with PKCS#7 padding |
| Key derivation | PBKDF2-SHA256, 600,000 iterations, 16-byte salt | PBKDF2-SHA256, configurable iterations (OpenSSL default 10,000), 8-byte salt |
| Tamper detection | Yes — modified data fails to decrypt | No — only padding errors |
| Compatible with | This tool and any code that follows the documented layout | openssl enc -aes-256-cbc -pbkdf2 -a |
The GCM output is Base64(salt ‖ IV ‖ ciphertext ‖ tag), so the Web Crypto API, Node.js (crypto.createDecipheriv('aes-256-gcm', …)) or Python’s cryptography package can decrypt it with the same parameters.
Decrypting OpenSSL output
Text encrypted with
echo -n "secret" | openssl enc -aes-256-cbc -pbkdf2 -salt -a -A -pass pass:YOURPASS
starts with U2FsdGVkX1 (Base64 for “Salted__”) and can be decrypted here with the OpenSSL format. Without -pbkdf2, OpenSSL uses the old, weak EVP_BytesToKey derivation, which this tool does not support — always add -pbkdf2.
Password strength matters most
AES-256 itself cannot be brute-forced, but a weak password can. PBKDF2 slows each guess down, yet an 8-character password is still guessable. Use a long passphrase — the password generator helps. For one-way storage of passwords use bcrypt instead; for signatures use HMAC.
Tools that pair well with the AES Encrypt & Decrypt
- Hash Generator — Compute MD5 and SHA hashes of any text or file instantly, create HMAC signatures, and paste an expected checksum to verify a download.
- JWT Decoder — Paste a JSON Web Token to inspect its header and payload, check when it expires and verify its signature.
- Htpasswd Generator — Generate user:hash lines for HTTP Basic Authentication in Apache, Nginx, Traefik and Caddy — with bcrypt by default and nothing sent to a server.
- JWT Encoder — Build a JWT for testing APIs: edit the payload, add standard claims with one click and sign it with an HMAC secret or an RSA / EC private key.