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 |
| cksum | 32 bits | CRC with length appended |
| CRC-8 | 8 bits | CRC |
| CRC-16 | 16 bits | CRC |
| CRC-32 | 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
| Name | Length | Type |
| BSD checksum | 16 bits | sum with circular rotation |
| SYSV checksum | 16 bits | sum with circular rotation |
| sum8 | 8 bits | sum |
| Internet Checksum | 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 | Quasigroup operation |
Universal hash function families
| 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 | Type |
| Pearson hashing | 8 bits | XOR/table |
| Paul Hsieh's SuperFastHash | 32 bits | |
| Buzhash | variable | XOR/table |
| Fowler–Noll–Vo hash function | 32, 64, 128, 256, 512, or 1024 bits | xor/product or product/XOR |
| Jenkins hash function | 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 |
| PJW hash / ELF hash | 32 or 64 bits | add,shift,xor |
| MurmurHash | 32, 64, or 128 bits | product/rotation |
| Fast-Hash | 32 or 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 | variable | division/modulo |
| xxHash | 32, 64 or 128 bits | product/rotation |
| t1ha | 64 or 128 bits | product/rotation/XOR/add |
| GxHash | 32, 64 or 128 bits | AES block cipher |
| pHash | fixed or variable | see Perceptual hashing |
| dhash | 128 bits | see Perceptual hashing |
| 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 |
| BLAKE2 | keyed hash function | |
| BLAKE3 | 256 bits | keyed hash function |
| HMAC | ||
| KMAC | arbitrary | based on Keccak |
| MD6 | up to 512 bits | Merkle tree NLFSR |
| One-key MAC | ||
| PMAC | ||
| Poly1305-AES | 128 bits | nonce-based |
| SipHash | 32, 64 or 128 bits | non-collision-resistant PRF |
| HighwayHash | 64, 128 or 256 bits | non-collision-resistant PRF |
| UMAC | ||
| VMAC |
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 |
| BLAKE2X | arbitrary | HAIFA structure, extendable-output functions design |
| BLAKE3 | arbitrary | Merkle tree |
| 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 tree NLFSR |
| RadioGatún | arbitrary | ideal mangling function |
| RIPEMD | 128 bits | hash |
| RIPEMD-128 | 128 bits | hash |
| RIPEMD-160 | 160 bits | hash |
| RIPEMD-256 | 256 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 | 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 |