EN
My tools

AES Encryption & Decryption

Encrypt and decrypt with AES (GCM, CBC, CTR, CFB, OFB, ECB) using a raw key or an OpenSSL-compatible passphrase (PBKDF2 or legacy). Runs in your browser.

Operation
Must match on both sides. OpenSSL uses 10,000 unless you pass -iter.
CBC, CFB and OFB: 16 random bytes. CTR: the 16-byte starting counter. GCM: 12 bytes. Never reuse one with the same key.
My tools →
Advertisement

AES is the standard symmetric cipher for encrypting data with a shared secret. This tool encrypts and decrypts with authenticated GCM and the classic CBC, CTR, CFB, OFB and ECB modes, with a raw 128-, 192- or 256-bit key or with a passphrase in OpenSSL’s "Salted__" format, so its output opens with the openssl command line. Everything runs in your browser.

How to use this tool

  1. Choose encrypt or decrypt and a mode — GCM unless you need to match an existing system.
  2. Give a raw key (hex or Base64) and an IV, or pick a passphrase mode.
  3. Paste the input and say whether it is text, hex or Base64.
  4. Copy the result; for passphrase mode the page also shows the matching openssl command.

Formula

AES works on 128-bit blocks with a 128-, 192- or 256-bit key. CBC chains blocks with an IV and needs padding; CTR, CFB and OFB turn AES into a stream cipher; GCM adds a 128-bit authentication tag that detects any change to the ciphertext or the additional data. In passphrase mode the tool picks a random 8-byte salt and derives a 256-bit key and the IV from it.

PBKDF2 mode matches openssl enc -aes-256-cbc -pbkdf2 -iter N -md sha256 (OpenSSL 1.1.1 and later): key‖IV = PBKDF2-HMAC-SHA256(passphrase, salt, N, 48 bytes). Legacy mode matches openssl enc -md md5 and CryptoJS.AES.encrypt(text, passphrase): key‖IV come from EVP_BytesToKey with one round of MD5, which is weak — use it only to read old data.

Example

With key 2b7e15…4f3c and IV 000102…0e0f, CBC-encrypting the block 6bc1be…172a without padding gives 7649abac8119b246cee98e9b12e9197d — the NIST SP 800-38A test vector. Text encrypted here with the passphrase "correct-horse" in PBKDF2 mode decrypts with openssl enc -d -aes-256-cbc -pbkdf2 -iter 600000 -md sha256 -a -A.

Frequently asked questions

Is my data uploaded?

No. Encryption and decryption use the browser’s Web Crypto API and a bundled library on your device, so keys and data never leave it.

Which mode should I use?

Prefer GCM: it encrypts and authenticates, so altered ciphertext is rejected. If you must use CBC or CTR, never reuse an IV or counter with the same key, and add a MAC such as HMAC-SHA256. Do not use ECB for real data.

How is the key made from a passphrase?

In PBKDF2 mode, with PBKDF2-HMAC-SHA256 over the passphrase and a random 8-byte salt, using the iteration count you set (600,000 by default; OpenSSL’s own default is 10,000). In legacy mode, with OpenSSL’s old EVP_BytesToKey and a single MD5 round, which an attacker can test billions of times per second — so only use it to open existing data.

Sources

Last updated:

Cite or embed this tool
APA

kakaoCalc. (2026, November 8). AES Encryption & Decryption. https://kakao.mobile/tools/aes-encrypt-tool/

MLA

“AES Encryption & Decryption.” kakaoCalc, 8 Nov. 2026, kakao.mobile/tools/aes-encrypt-tool/.

Paste this code into your page. The widget runs in your visitors' browsers, shows no ads and keeps a link back to this page. Embedding terms

Advertisement