Skip to content

All algorithms

A reference card per algorithm. Pick one to read what it's for, what attacked it, and what to use instead.

AlgorithmFamilyBitsYearStatusNotes
MD5MD1281992brokenThe world's most famous hash function, still everywhere despite being completely broken for security purposes since 2004.
SHA-1SHA-11601995brokenThe standard hash of the late-'90s web. Demonstrably collidable since 2017's SHAttered, but TLS, Git, and JWT all still ship code paths that touch it.
RIPEMD-160RIPEMD1601996deprecatedThe hash inside every Bitcoin and Ethereum address. Cryptographically strong-ish, but mostly here because Satoshi picked it.
HMAC-SHA256HMAC2561996secureThe right way to authenticate a message with a shared secret. AWS V4 signatures, Stripe webhooks, JWT HS256: all HMAC-SHA256 underneath.
bcryptpassword1841999deprecatedThe first really-deliberately-slow password hash. Still everywhere (Rails, Laravel, Django defaults), but Argon2id is the modern pick.
SHA-256SHA-22562001secureThe default cryptographic hash for the modern web. TLS certificates, Bitcoin, GitHub's new object IDs: all SHA-256 underneath.
SHA-384SHA-23842001secureTruncated SHA-512: the awkward middle child of the SHA-2 family. Mandated by NSA Suite B at the TOP SECRET level.
SHA-512SHA-25122001secureThe big sibling of SHA-256. Faster on 64-bit hardware, larger output, identical security properties.
scryptpassword2562009secureColin Percival's memory-hard answer to bcrypt's GPU vulnerability. Used by Litecoin and a long tail of password databases.
BLAKE2bBLAKE5122012secureFaster than MD5, more secure than SHA-3. Quietly powers WireGuard, Argon2, libsodium, and most password managers' KDF inputs.
SHA3-256SHA-32562015secureKeccak under the SHA-3 banner: a totally different sponge construction from SHA-2, immune to length-extension by design.
SHA3-512SHA-35122015secureThe 512-bit member of the SHA-3 family. Same sponge construction, more capacity, slower throughput.
Argon2idpassword2562015secureWinner of the Password Hashing Competition. Memory-hard, side-channel resistant, three tunable knobs. The 2026 default.
BLAKE3BLAKE2562020secureParallelizable hashing that beats every other secure algorithm on raw throughput. Has a built-in XOF, MAC, and KDF mode.

The history of hash functions

Which one should you pick?