Skip to main content

List of Hash Functions

Cyclic redundancy checks

Main article:Cyclic redundancy check

NameLengthType
cksum (Unix)32 bitsCRC with length appended
CRC-1616 bitsCRC
CRC-3232 bitsCRC
CRC-32 MPEG-232 bitsCRC
CRC-6464 bitsCRC

Adler-32 is often mistaken for a CRC, but it is not, it is a checksum.

Checksums

Main article:Checksum

NameLengthType
BSD checksum (Unix)16 bitssum with circular rotation
SYSV checksum (Unix)16 bitssum with circular rotation
sum88 bitssum
sum1616 bitssum
sum2424 bitssum
sum3232 bitssum
fletcher-44 bitssum
fletcher-88 bitssum
fletcher-1616 bitssum
fletcher-3232 bitssum
Adler-3232 bitssum
xor88 bitssum
Luhn algorithm1 decimal digitsum
Verhoeff algorithm1 decimal digitsum
Damm algorithm1 decimal digitQuasigroupoperation

Universal hash function families

Main article:Universal hashing

NameLengthType
Rabin fingerprintvariablemultiply
tabulation hashingvariableXOR
universal one-way hash function
Zobrist hashingvariableXOR

Non-cryptographic hash functions

NameLengthhideType
Pearson hashing8 bits (or more)XOR/table
Paul Hsieh's SuperFastHash32 bits
BuzhashvariableXOR/table
Fowler-Noll-Vo hash function (FNV Hash)32, 64, 128, 256, 512, or 1024 bitsxor/product or product/XOR
Jenkins hash function32 or 64 bitsXOR/addition
Bernstein hashdjb232 bits
PJW hash / Elf Hash32 or 64 bitsadd,shift,xor
MurmurHash32, 64, or 128 bitsproduct/rotation
Fast-Hash32, 64 bitsxorshift operations
SpookyHash32, 64, or 128 bitssee Jenkins hash function
CityHash32, 64, 128, or 256 bits
FarmHash32, 64 or 128 bits
MetroHash64 or 128 bits
numeric hash (nhash)variabledivision/modulo
xxHash32, 64 bitsproduct/rotation
t1ha (Fast Positive Hash)64 and 128 bitsproduct/rotation/XOR/add

Keyed cryptographic hash functions

https://en.wikipedia.org/wiki/Message_authentication_code

NameTag LengthhideType
BLAKE2arbitrarykeyed hash function (prefix-MAC)
HMAC
KMACarbitrarybased on Keccak
MD6512 bitsMerkle treeNLFSR
One-key MAC(OMAC; CMAC)
PMAC (cryptography)
Poly1305-AES128 bitsnonce-based
SipHash64 bitsnon-collision-resistant PRF
UMAC
VMAC

Unkeyed cryptographic hash functions

https://en.wikipedia.org/wiki/Cryptographic_hash_function

https://en.wikipedia.org/wiki/Comparison_of_cryptographic_hash_functions

NameLengthhideType
BLAKE-256256 bitsHAIFA structure
BLAKE-512512 bitsHAIFA structure
BLAKE2sup to 256 bitsHAIFA structure
BLAKE2bup to 512 bitsHAIFA structure
BLAKE2XarbitraryHAIFA structure,extensible-output functions (XOFs) design
ECOH224 to 512 bitshash
FSB160 to 512 bitshash
GOST256 bitshash
Grøstlup to 512 bitshash
HAS-160160 bitshash
HAVAL128 to 256 bitshash
JH224 to 512 bitshash
LSH256 to 512 bitswide-pipe Merkle--Damgård construction
MD2128 bitshash
MD4128 bitshash
MD5128 bitsMerkle--Damgård construction
MD6up to 512 bitsMerkle treeNLFSR(it is also a keyed hash function)
RadioGatúnarbitraryideal mangling function
RIPEMD128 bitshash
RIPEMD-128128 bitshash
RIPEMD-160160 bitshash
RIPEMD-320320 bitshash
SHA-1160 bitsMerkle--Damgård construction
SHA-224224 bitsMerkle--Damgård construction
SHA-256256 bitsMerkle--Damgård construction
SHA-384384 bitsMerkle--Damgård construction
SHA-512512 bitsMerkle--Damgård construction
SHA-3(subset of Keccak)arbitrarysponge function
SkeinarbitraryUnique Block Iteration
Snefru128 or 256 bitshash
Spectral Hash512 bitswide-pipe Merkle--Damgård construction
Streebog256 or 512 bitsMerkle--Damgård construction
SWIFFT512 bitshash
Tiger192 bitsMerkle--Damgård construction
Whirlpool512 bitshash