AES is one of the most widely used symmetric encryption algorithms. The same key is used for encryption and decryption. The tool provides a simple three-step workflow while also allowing advanced parameters to be configured.
Separate encryption and decryption tabs are provided. The tool supports 12 combinations of AES-256, AES-192, and AES-128 with GCM, CBC, CTR, and ECB. AES-256-GCM is the default and recommended option, while ECB is not recommended. In password mode, the key is derived automatically, and a random password can be generated.
The result is displayed in separate sections for ciphertext, Nonce or IV, and Tag. Each part can be copied individually, all parameters can be copied as JSON, and the parameters can also be downloaded. The encryption result can be filled into the decryption form with one click.
The key source can be either a password with automatic key derivation or a hexadecimal AES key. AES-128, AES-192, and AES-256 require 32, 48, and 64 hexadecimal characters respectively. Leaving Nonce or IV blank generates it automatically. Decryption must use exactly the same values as encryption.
In GCM mode, AAD participates in integrity authentication but is not encrypted. Output encoding can be Base64 or Hex.
GCM is recommended because it provides integrity authentication; the Nonce and Tag should be stored. CBC requires the IV to be stored. CTR uses a counter that must not be reused with the same key and also requires an IV. ECB can reveal plaintext patterns and should only be used for compatibility purposes.
The tool validates key, IV, and Nonce lengths. GCM decryption requires a Tag, and the ciphertext encoding must match the selected input encoding. Decryption failures provide troubleshooting guidance. GCM uses WebCrypto and may require a secure context or HTTPS; if unavailable, CBC can be tried instead.
Useful for encrypting configuration values, backups, and temporary strings, testing API JSON interoperability, comparing implementations across PHP, Java, Go, and Python, and learning about encryption modes, padding, IVs, and integrity authentication.
Keys, passwords, and plaintext are processed locally and are neither uploaded nor stored. The copy-all-parameters JSON output excludes the password. Use test data rather than production keys for testing and learning.
Comments 0