List of Hash Functions
Cyclic redundancy checks
Main article:Cyclic redundancy check
Name | Length | Type |
---|---|---|
cksum (Unix) | 32 bits | CRC with length appended |
CRC-16 | 16 bits | CRC |
CRC-32 | 32 bits | CRC |
CRC-32 MPEG-2 | 32 bits | CRC |
CRC-64 | 64 bits | CRC |
Adler-32 is often mistaken for a CRC, but it is not, it is a checksum.
Checksums
Main article:Checksum
Name | Length | Type |
---|---|---|
BSD checksum (Unix) | 16 bits | sum with circular rotation |
SYSV checksum (Unix) | 16 bits | sum with circular rotation |
sum8 | 8 bits | sum |
sum16 | 16 bits | sum |
sum24 | 24 bits | sum |
sum32 | 32 bits | sum |
fletcher-4 | 4 bits | sum |
fletcher-8 | 8 bits | sum |
fletcher-16 | 16 bits | sum |
fletcher-32 | 32 bits | sum |
Adler-32 | 32 bits | sum |
xor8 | 8 bits | sum |
Luhn algorithm | 1 decimal digit | sum |
Verhoeff algorithm | 1 decimal digit | sum |
Damm algorithm | 1 decimal digit | Quasigroupoperation |
Universal hash function families
Main article:Universal hashing
Name | Length | Type |
---|---|---|
Rabin fingerprint | variable | multiply |
tabulation hashing | variable | XOR |
universal one-way hash function | ||
Zobrist hashing | variable | XOR |
Non-cryptographic hash functions
Name | Length | hideType |
---|---|---|
Pearson hashing | 8 bits (or more) | XOR/table |
Paul Hsieh's SuperFastHash | 32 bits | |
Buzhash | variable | XOR/table |
Fowler-Noll-Vo hash function (FNV Hash) | 32, 64, 128, 256, 512, or 1024 bits | xor/product or product/XOR |
Jenkins hash function | 32 or 64 bits | XOR/addition |
Bernstein hashdjb2 | 32 bits | |
PJW hash / Elf Hash | 32 or 64 bits | add,shift,xor |
MurmurHash | 32, 64, or 128 bits | product/rotation |
Fast-Hash | 32, 64 bits | xorshift operations |
SpookyHash | 32, 64, or 128 bits | see Jenkins hash function |
CityHash | 32, 64, 128, or 256 bits | |
FarmHash | 32, 64 or 128 bits | |
MetroHash | 64 or 128 bits | |
numeric hash (nhash) | variable | division/modulo |
xxHash | 32, 64 bits | product/rotation |
t1ha (Fast Positive Hash) | 64 and 128 bits | product/rotation/XOR/add |
Keyed cryptographic hash functions
https://en.wikipedia.org/wiki/Message_authentication_code
Name | Tag Length | hideType |
---|---|---|
BLAKE2 | arbitrary | keyed hash function (prefix-MAC) |
HMAC | ||
KMAC | arbitrary | based on Keccak |
MD6 | 512 bits | Merkle treeNLFSR |
One-key MAC(OMAC; CMAC) | ||
PMAC (cryptography) | ||
Poly1305-AES | 128 bits | nonce-based |
SipHash | 64 bits | non-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
Name | Length | hideType |
---|---|---|
BLAKE-256 | 256 bits | HAIFA structure |
BLAKE-512 | 512 bits | HAIFA structure |
BLAKE2s | up to 256 bits | HAIFA structure |
BLAKE2b | up to 512 bits | HAIFA structure |
BLAKE2X | arbitrary | HAIFA structure,extensible-output functions (XOFs) design |
ECOH | 224 to 512 bits | hash |
FSB | 160 to 512 bits | hash |
GOST | 256 bits | hash |
Grøstl | up to 512 bits | hash |
HAS-160 | 160 bits | hash |
HAVAL | 128 to 256 bits | hash |
JH | 224 to 512 bits | hash |
LSH | 256 to 512 bits | wide-pipe Merkle--Damgård construction |
MD2 | 128 bits | hash |
MD4 | 128 bits | hash |
MD5 | 128 bits | Merkle--Damgård construction |
MD6 | up to 512 bits | Merkle treeNLFSR(it is also a keyed hash function) |
RadioGatún | arbitrary | ideal mangling function |
RIPEMD | 128 bits | hash |
RIPEMD-128 | 128 bits | hash |
RIPEMD-160 | 160 bits | hash |
RIPEMD-320 | 320 bits | hash |
SHA-1 | 160 bits | Merkle--Damgård construction |
SHA-224 | 224 bits | Merkle--Damgård construction |
SHA-256 | 256 bits | Merkle--Damgård construction |
SHA-384 | 384 bits | Merkle--Damgård construction |
SHA-512 | 512 bits | Merkle--Damgård construction |
SHA-3(subset of Keccak) | arbitrary | sponge function |
Skein | arbitrary | Unique Block Iteration |
Snefru | 128 or 256 bits | hash |
Spectral Hash | 512 bits | wide-pipe Merkle--Damgård construction |
Streebog | 256 or 512 bits | Merkle--Damgård construction |
SWIFFT | 512 bits | hash |
Tiger | 192 bits | Merkle--Damgård construction |
Whirlpool | 512 bits | hash |