(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
This is a list of hash functions, including cyclic redundancy checks, checksum functions, and cryptographic hash functions.
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
Source
http://wikipedia.org/