Free · Private · Client-side

AES Encryption Keys

Generate keys for AES (Advanced Encryption Standard) symmetric encryption. Includes initialization vectors for CBC and GCM modes.

Generated values never leave this device.
Estimated entropy: 256 bits · 32 random bytes~132,943,112,026,157,700,000,000,000,000 quintillion times the age of the universe to crack
Weak · <50 bitsFairGood · 70+Strong · 100+

In plain terms: a gaming PC guessing a million passwords per second would need 132,943,112,026,157,700,000,000,000,000,000,000 quintillion times the age of the universe. Even someone renting every cloud server on Earth — a trillion guesses per second — would need 132,943,112,026,157,700,000,000,000,000 quintillion times the age of the universe. Nobody is guessing this password; the only realistic risks are it being reused or phished.

Generated keys

Strong256 bits
Strong256 bits
Strong256 bits
Strong256 bits

Generated initialization vectors

Strong128 bits
Strong128 bits
Strong128 bits
Strong128 bits

Usage Example

Python (cryptography)
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
import os

key = bytes.fromhex('...')
iv = bytes.fromhex('...')

# Encrypt
cipher = Cipher(algorithms.AES(key), modes.GCM(iv))
encryptor = cipher.encryptor()
ciphertext = encryptor.update(b"Secret message") + encryptor.finalize()
tag = encryptor.tag

# Decrypt
cipher = Cipher(algorithms.AES(key), modes.GCM(iv, tag))
decryptor = cipher.decryptor()
plaintext = decryptor.update(ciphertext) + decryptor.finalize()

Bulk Generation

keys

Generate in Terminal

AES-256 key

$openssl rand -hex 32

IV (16 bytes)

$openssl rand -hex 16

Python

$python3 -c "import secrets; print(secrets.token_hex(32))"

For demonstration only

For production encryption, generate keys locally using the terminal commands below. Never transmit encryption keys over the network.

Encryption explained →