This is a list of hash functions, including cyclic redundancy checks, checksum functions, and cryptographic hash functions.
Cyclic redundancy checks[edit]
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[edit]
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[edit]
Non-cryptographic hash functions[edit]
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[edit]
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[edit]
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[edit]
http://wikipedia.org/