Cryptographic Key Generators
Generate signing key pairs, AES keys, and API keys.
RSA/EC Key Pair Gen.
Generate signing key pairs for RS256/ES256 (PEM & JWK).
Encryption Key Gen.
Generate a random AES key for symmetric encryption.
API Key Generator
Generate a random, prefixable API key.
Cryptography & Hashing Tools
Cryptography is the practice and study of techniques for secure communication in the presence of adversarial behavior. It encompasses data confidentiality, data integrity, authentication, and non-repudiation. Our suite of cryptography tools allows you to compute secure hashes, generate UUIDs, and encrypt/decrypt data safely right in your browser.
What is Hashing?
Hashing is the process of translating a given key into a code. A hash function is a mathematical algorithm that maps data of arbitrary size to a bit array of a fixed size (the "hash"). It is a one-way function, meaning it is computationally infeasible to invert or reverse the computation.
Hashes are fundamentally used in digital signatures, message authentication codes (MACs), fingerprinting, to detect duplicated data or uniquely identify files, and as checksums to detect accidental data corruption.
Common Hashing Algorithms
- MD5: Widely used but cryptographically broken and vulnerable to collision attacks. Useful only for non-cryptographic checksums.
- SHA-1: Historically common but now deprecated against well-funded attackers. Replaced by SHA-2.
- SHA-256 (SHA-2): The current industry standard for secure hashing. Extremely resistant to collisions and preimage attacks.
- SHA-512: A variant of SHA-2 that operates on 64-bit words, providing even greater security boundaries.
What is AES Encryption?
The Advanced Encryption Standard (AES) is a symmetric block cipher chosen by the U.S. government to protect classified information. Symmetric means the same key is used for both encrypting and decrypting the data. AES is implemented in software and hardware throughout the world to encrypt sensitive data.
It is essential to use a secure mode of operation like CBC (Cipher Block Chaining) or GCM (Galois/Counter Mode) alongside a randomized Initialization Vector (IV) to prevent cryptographic vulnerabilities.
Frequently Asked Questions
Can a hash be reversed or decrypted?
No. Hashing is a one-way mathematical function designed specifically so that it cannot be reversed. However, attackers can use "Rainbow Tables" (massive databases of precomputed hashes) to crack weak or commonly used passwords. This is why "salting" (adding random data to the input before hashing) is essential for storing passwords securely.
Is MD5 still safe to use?
No. MD5 is completely cryptographically broken. It is trivial for an attacker to generate a collision (two different files that produce the exact same MD5 hash). You should only use MD5 for non-security purposes, such as simple file integrity checks against accidental corruption, never for passwords or secure signatures.
What is the difference between Hashing and Encryption?
Hashing is a one-way function that turns any amount of data into a fixed-length string (a fingerprint). It cannot be reversed. Encryption is a two-way function that scrambles data using a key so that it can be explicitly reversed (decrypted) later by someone who possesses the correct key.
Why do I need an Initialization Vector (IV) for AES?
If you encrypt the same text with the same password multiple times without an IV, the resulting encrypted text will be identical every time. This allows an attacker to recognize patterns. An IV introduces randomness so that identical plaintext encrypted with the same password yields entirely different ciphertexts, vastly improving security.

