Skip to content

Hash Algorithm Reference

Compare security, speed, and use cases for 15 hash and password hashing algorithms.

General-Purpose Hash Functions

MD5

Deprecated

MD5 (Message-Digest Algorithm 5) produces a 128-bit hash value. It was widely used for checksums and data integrity verification, but is now considered cryptographically broken due to collision vulnerabilities discovered in 2004.

128 bits | Very Fast

SHA-1

Deprecated

SHA-1 (Secure Hash Algorithm 1) produces a 160-bit hash value. Once the standard for digital signatures and certificates, it was deprecated after Google demonstrated a practical collision attack (SHAttered) in 2017.

160 bits | Very Fast

SHA-256

Recommended

SHA-256 is part of the SHA-2 family designed by the NSA. It produces a 256-bit hash and is the most widely used secure hash function today, underpinning TLS/SSL certificates, Bitcoin mining, and digital signatures.

256 bits | Fast

SHA-512

Recommended

SHA-512 is the 512-bit variant of the SHA-2 family. It provides a larger hash output and is actually faster than SHA-256 on 64-bit systems. Commonly used when a longer hash is desired for additional security margin.

512 bits | Fast

SHA-3-256

Recommended

SHA-3-256 is part of the SHA-3 family based on the Keccak algorithm, selected through a NIST competition in 2012. It provides a fundamentally different design from SHA-2, offering an alternative if SHA-2 is ever compromised.

256 bits | Medium

SHA-3-512

Recommended

SHA-3-512 is the 512-bit output variant of SHA-3 (Keccak). It offers the longest standard hash output in the SHA-3 family and is used when maximum hash length and algorithm diversity are required.

512 bits | Medium

Password Hashing Functions

bcrypt

Secure

bcrypt is a password hashing function based on the Blowfish cipher. It includes a built-in salt and configurable cost factor, making it intentionally slow to resist brute-force attacks. It has been the industry standard for password hashing since 1999.

184 bits | Slow

Argon2

Recommended

Argon2 is the winner of the 2015 Password Hashing Competition. It comes in three variants: Argon2d (data-dependent), Argon2i (data-independent), and Argon2id (hybrid, recommended). It is the current state-of-the-art for password hashing.

Configurable | Very Slow

scrypt

Secure

scrypt is a password-based key derivation function designed to be memory-hard, making it expensive to attack with specialized hardware (ASICs and GPUs). It requires significant RAM in addition to CPU time.

Configurable | Slow

PBKDF2

Secure

PBKDF2 (Password-Based Key Derivation Function 2) applies a pseudorandom function (usually HMAC-SHA256) repeatedly to derive a key. It is widely supported and approved by NIST, but lacks memory-hardness.

Configurable | Slow

Message Authentication (HMAC)

HMAC-SHA256

Recommended

HMAC-SHA256 combines SHA-256 with a secret key to produce a keyed hash for message authentication. It verifies both data integrity and authenticity, widely used in APIs, JWTs, and secure communications.

256 bits | Fast

HMAC-SHA512

Recommended

HMAC-SHA512 combines SHA-512 with a secret key for message authentication. It provides a larger MAC output than HMAC-SHA256 and is often faster on 64-bit systems.

512 bits | Fast

Checksums & Modern Hashes

CRC32

Deprecated

CRC32 (Cyclic Redundancy Check) is a non-cryptographic checksum used for error detection in data transmission. It is extremely fast but provides no security — it is trivial to forge a matching CRC32 value.

32 bits | Very Fast

BLAKE2b

Recommended

BLAKE2b is a cryptographic hash function faster than MD5 and SHA-1 while being as secure as SHA-3. It was designed as a faster alternative to SHA-2 and is used in many modern applications including libsodium and WireGuard.

Configurable, up to 512 bits | Very Fast

BLAKE3

Recommended

BLAKE3 is a cryptographic hash function released in 2020. It is dramatically faster than all previous hash functions due to tree-based parallelism, while maintaining strong security. It serves as a hash, MAC, KDF, and XOF in one function.

Configurable, default 256 bits | Very Fast