Generate cryptographic digests and fast checksums with 8 widely used algorithms. Verify integrity, explore hash properties, and understand modern hashing standards.
A cryptographic hash function is a mathematical algorithm that maps data of arbitrary size to a fixed-size bit string (the digest). It is a one-way function — practically infeasible to invert. Hash functions are the backbone of digital signatures, password storage, integrity verification, and blockchain technology. This tool supports eight algorithms spanning legacy, modern, NIST-standardized families, and the fast CRC32 checksum for error detection.
H : {0,1}* → {0,1}n where n varies per algorithm
Deterministic, fast, preimage resistant, collision resistant (ideally). CRC32 is non‑cryptographic but excellent for integrity checks.
MD5 (128-bit) – Historically widespread, but collision vulnerabilities (2004) make it unsuitable for security-sensitive applications. Acceptable for non‑critical checksums.
SHA‑1 (160-bit) – Deprecated since 2017 due to practical collision attacks (SHAttered). Avoid for cryptographic security.
SHA‑256 & SHA‑512 (SHA‑2 family) – NIST-approved, collision-resistant, and widely used in TLS certificates, blockchain (Bitcoin), and file integrity. Recommended for modern applications.
SHA‑3 (Keccak) – The latest NIST standard (FIPS 202), designed as a backup to SHA‑2. SHA3-256 and SHA3-512 offer similar security levels with a different internal structure, resistant to length‑extension attacks.
RIPEMD-160 (160-bit) – Developed in the open academic community, used in Bitcoin addresses and some legacy systems. Provides a 160-bit hash with a different design than SHA‑1.
CRC32 (32-bit) – Cyclic Redundancy Check, a non‑cryptographic checksum widely used for error detection in networks, storage, and file formats (ZIP, PNG, Ethernet). Extremely fast, but not collision‑resistant and unsuitable for security. Ideal for quick integrity verification.
Bitcoin uses SHA‑256 for proof-of-work and address generation. Ethereum uses Keccak-256 (a variant of SHA‑3). RIPEMD-160 is used in Bitcoin addresses to shorten public keys. CRC32 is used in ZIP archives and PNG images to detect accidental corruption.
The evolution of hash functions reflects the ongoing battle between cryptographic advances and attack methods. MD5 (1991) was followed by SHA‑0/1 (1993-1995), but both fell to collision attacks. The SHA‑2 family (2001) remains strong. In 2015, NIST standardized SHA‑3 (Keccak) after a public competition to ensure a diverse, robust alternative. RIPEMD-160 was developed in the European RIPE project and is notable for its use in Bitcoin. CRC32, developed in the 1970s, is based on polynomial division and remains the de facto standard for error detection in many protocols.