Symmetric Encryption Toolkit

Supports AES, DES, 3DES, RC4, Rabbit, SM4 and other common symmetric encryption algorithms, with multiple modes and padding options.

Settings

Uses native Web Crypto API
Supports UTF-8, Hex, Base64 encoding

Encrypt

Decrypt

Instructions

Supported Algorithms

AES: Advanced Encryption Standard, the most commonly used symmetric encryption algorithm, implemented using the browser's native Web Crypto API (SubtleCrypto); DES: Data Encryption Standard, 56-bit key, low security, for legacy compatibility only; TripleDES (3DES): Triple DES, encrypts multiple times with three keys, more secure than DES; RC4/RC4Drop: Stream ciphers, fast but with security weaknesses; Rabbit: High-speed stream cipher, suitable for resource-constrained environments; SM4: Chinese national commercial standard block cipher, implemented by sm-crypto.

Modes and Padding

AES (Native): Supports CBC, CTR, GCM modes. Padding is built-in (CBC auto PKCS7, CTR/GCM no padding needed). GCM mode also generates authentication tags. DES/3DES (crypto-js): Supports CBC, ECB, CTR, CFB, OFB modes with optional Pkcs7, ZeroPadding, NoPadding etc. Stream ciphers (RC4/Rabbit) require no mode or padding.

Steps

1. Select algorithm in the left panel; switching algorithm auto-resets mode and padding; 2. Enter key, select key encoding (UTF-8/Hex/Base64), AES key must be 16/24/32 bytes; 3. For CBC/CTR/GCM modes, enter or generate an IV; 4. Encrypt: Enter plaintext, select output format (Base64/Hex), click 'Encrypt'; 5. Decrypt: Enter ciphertext, select input format, click 'Decrypt'.

Notes

AES key must be 16/24/32 bytes (128/192/256 bits), IV must be 16 bytes; GCM IV length is flexible (12 bytes recommended). ECB mode has poor security, only available for DES/3DES. Web Crypto API is only available in secure contexts (HTTPS or localhost). For decryption, key, IV, and mode must match encryption settings exactly.