Wikipedia / List of hash functions
Wikipedia / List of hash functions
This is a list of hash functions, including cyclic redundancy checks, checksum functions, and cryptographic hash functions.
Cyclic redundancy checks
Name | Length | Type |
32 bits | CRC with length appended | |
8 bits | ||
16 bits | ||
32 bits | ||
64 bits |
Adler-32 is often mistaken for a CRC, but it is not: it is a checksum.
Checksums
Name | Length | Type |
16 bits | sum with circular rotation | |
16 bits | sum with circular rotation | |
sum8 | 8 bits | sum |
16 bits | sum (ones' complement) | |
sum24 | 24 bits | sum |
sum32 | 32 bits | sum |
4 bits | sum | |
8 bits | sum | |
16 bits | sum | |
32 bits | sum | |
32 bits | sum | |
8 bits | sum | |
1 decimal digit | sum | |
1 decimal digit | sum | |
1 decimal digit |
Universal hash function families
Name | Length | Type |
variable | multiply | |
variable | XOR | |
variable | XOR |
Non-cryptographic hash functions
Name | Length | Type |
8 bits (or more) | XOR/table | |
Paul Hsieh's SuperFastHash | 32 bits | |
variable | XOR/table | |
Fowler–Noll–Vo hash function(FNV hash) | 32, 64, 128, 256, 512, or 1024 bits | xor/product or product/XOR |
32 or 64 bits | XOR/addition | |
Bernstein's hash djb2 | 32 or 64 bits | shift/add or mult/add or shift/add/xor or mult/xor |
32 or 64 bits | add,shift,xor | |
32, 64, or 128 bits | product/rotation | |
Fast-Hash | 32 or 64 bits | xorshift operations |
SpookyHash | 32, 64, or 128 bits | |
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 or 128 bits | product/rotation |
64 or 128 bits | product/rotation/XOR/add | |
GxHash | 32, 64 or 128 bits | AES block cipher |
pHash | fixed or variable | |
dhash | 128 bits | |
SDBM | 32 or 64 bits | mult/add or shift/add also used in GNU AWK |
OSDB hash | 64 bits | add |
komihash | 64 bits | product/split/add/XOR |
Keyed cryptographic hash functions
Name | Tag Length | Type |
keyed hash function (prefix-MAC) | ||
256 bits | keyed hash function (supplied IV) | |
arbitrary | based on Keccak | |
up to 512 bits | Merkle tree NLFSR (it is also an unkeyed hash function) | |
One-key MAC (OMAC; CMAC) | ||
128 bits | nonce-based | |
32, 64 or 128 bits | non-collision-resistant PRF | |
HighwayHash | 64, 128 or 256 bits | non-collision-resistant PRF |
Unkeyed cryptographic hash functions
Name | Length | Type |
256 bits | HAIFA structure | |
512 bits | HAIFA structure | |
up to 256 bits | HAIFA structure | |
up to 512 bits | HAIFA structure | |
arbitrary | HAIFA structure, extendable-output functions (XOFs) design | |
arbitrary | ||
224 to 512 bits | hash | |
160 to 512 bits | hash | |
256 bits | hash | |
up to 512 bits | hash | |
160 bits | hash | |
128 to 256 bits | hash | |
224 to 512 bits | hash | |
256 to 512 bits | wide-pipe Merkle–Damgård construction | |
128 bits | hash | |
128 bits | hash | |
128 bits | ||
up to 512 bits | Merkle tree NLFSR (it is also a keyed hash function) | |
arbitrary | ideal mangling function | |
128 bits | hash | |
128 bits | hash | |
160 bits | hash | |
256 bits | hash | |
320 bits | hash | |
160 bits | ||
224 bits | ||
256 bits | ||
384 bits | ||
512 bits | ||
SHA-3 (subset of Keccak) | arbitrary | |
arbitrary | ||
128 or 256 bits | hash | |
512 bits | wide-pipe Merkle–Damgård construction | |
256 or 512 bits | ||
512 bits | hash | |
192 bits | ||
512 bits | hash |
See also
References