Online symmetric encryption supporting AES / SM4 / ChaCha20. Encrypts and decrypts locally in the browser — data never leaves your device.
Online symmetric encryption supporting AES / SM4 / ChaCha20. Encrypts and decrypts locally in the browser — data never leaves your device.
Both are symmetric block ciphers that use the same key for encryption and decryption. AES is an international standard, while SM4 is a Chinese national commercial cryptography standard. This tool supports both; AES is fine for most cases, and SM4 can be chosen when Chinese compliance is required.
Prefer a longer key when possible (e.g. AES-256). SM4 has a fixed 128-bit key length. The key must be sufficiently random — using the tool's "generate random key" is far safer than inventing a phrase yourself.
No. All encryption and decryption happens locally in the browser — plaintext, ciphertext and keys never leave your device. But remember: this tool is for learning and prototyping; do not use it for genuinely high-risk secrets.
Prefer modes that use an IV (such as CBC, CTR, GCM). ECB does not use an IV, so identical plaintext blocks produce identical ciphertext and may reveal structure — the famous "penguin" image leak came from ECB. Avoid it for sensitive content.
The IV does not need to be secret, but it must be random and different for every encryption under the same key. Reusing an IV weakens security and can even cause serious problems in modes such as GCM. This tool generates a fresh IV each time and outputs it together with the ciphertext.
No. Symmetric encryption has no backdoor; without the key (and IV) the plaintext cannot be recovered. Keep the key and IV safe — store them in a password manager rather than on a sticky note.
Ordinary encryption (e.g. CBC) only provides confidentiality and does not detect tampering; authenticated encryption such as GCM also verifies integrity, so any tampering makes decryption fail. Prefer GCM for data sent over a network.
Keep the key separate from the ciphertext: do not put the key in the same folder or message as the encrypted file. Use a password manager, environment variables, or a dedicated key-management service (KMS).