This is a list of hash functions, including cyclic redundancy checks, checksum functions, and cryptographic hash functions.
Contents
Cyclic redundancy checks
Name |
Length |
Type |
BSD checksum |
16 bits |
CRC |
Checksum |
32 bits |
CRC |
CRC-16 |
16 bits |
CRC |
CRC-32 |
32 bits |
[CRC |
CRC-32 MPEG-2 |
32 bits |
CRC |
CRC-64 |
64 bits |
CRC |
SYSV checksum |
16 bits |
CRC |
Adler-32 is often mistaken for a CRC, but it is not, it is a #Checksums|checksum.
Checksums
Name |
Length |
Type |
sum (Unix) |
16 or 32 bits |
sum |
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 |
4 bits |
sum |
Verhoeff algorithm |
4 bits |
sum |
Damm algorithm |
1 decimal digit |
Quasigroup operation |
Universal hash function families
Non-cryptographic hash functions
Name |
Length |
Type |
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 |
Java hashCode() |
32 bits |
|
Bernstein hash djb2 |
32 bits |
|
PJW hash / Elf Hash |
32 or 64 bits |
hash |
MurmurHash |
32, 64, or 128 bits |
product/rotation |
SpookyHash |
32, 64, or 128 bits |
see Jenkins hash function |
CityHash |
64, 128, or 256 bits |
|
numeric hash (nhash) |
variable |
Division/Modulo |
xxHash |
32, 64 bits |
product/rotation |
HighwayHash |
64, 128, or 256 bits |
product/permutation |
t1ha (Fast Positive Hash) |
32, 64 bits |
product/rotation/XOR/add |
jodyhash |
16, 32, or 64 bits |
add/rotation/XOR |
Keyed cryptographic hash functions
Name |
Tag Length |
Type |
VMAC |
|
|
UMAC |
|
|
BLAKE2 |
up to 512 bits |
keyed hash function (prefix-MAC) |
Poly1305-AES |
128 bits |
nonce-based |
PMAC (cryptography) |
|
|
SipHash |
64 bits |
non-collision-resistant PRF |
One-key MAC |
|
|
MD6 |
512 bits |
Merkle tree NLFSR |
HMAC |
|
|
Unkeyed cryptographic hash functions
Name |
Length |
Type |
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 |
ECOH |
224 to 512 bits |
hash |
FSB |
160 to 512 bits |
hash |
GOST |
256 bits |
hash |
Grøst |
Up to 512 bits |
hash |
HAS-160 |
160 bits |
hash |
HAVAL |
128 to 256 bits |
hash |
JH |
224 to 512 bits |
hash |
MD2 |
128 bits |
hash |
MD4 |
128 bits |
hash |
MD5 |
128 bits |
Merkle–Damgård construction |
MD6 |
Up to 512 bits |
Merkle tree NLFSR (it is also a keyed hash function) |
RadioGatún |
Up to 1216 bits |
hash |
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 (originally known as 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 |
See Also on BitcoinWiki
Source
http://wikipedia.org/