This is a list of hash functions, including cyclic redundancy checks, checksum functions, and cryptographic hash functions.

Cyclic redundancy checks

NameLengthTypecksum (Unix)32 bitsCRC with length appendedCRC-88 bitsCRCCRC-1616 bitsCRCCRC-3232 bitsCRCCRC-6464 bitsCRC

Adler-32 is often mistaken for a CRC, but it is not: it is a checksum.

Checksums

NameLengthTypeBSD checksum (Unix)16 bitssum with circular rotationSYSV checksum (Unix)16 bitssum with circular rotationsum88 bitssumInternet Checksum16 bitssum (ones' complement)sum2424 bitssumsum3232 bitssumfletcher-44 bitssumfletcher-88 bitssumfletcher-1616 bitssumfletcher-3232 bitssumAdler-3232 bitssum xor88 bitssumLuhn algorithm1 decimal digitsumVerhoeff algorithm1 decimal digitsumDamm algorithm1 decimal digit Quasigroup operation

Universal hash function families

NameLengthTypeRabin fingerprint variable multiplytabulation hashing variable XORuniversal one-way hash function Zobrist hashing variable XOR

Non-cryptographic hash functions

NameLengthTypePearson hashing8 bits (or more)XOR/tablePaul Hsieh's SuperFastHash32 bitsBuzhashvariableXOR/tableFowler–Noll–Vo hash function(FNV hash)32, 64, 128, 256, 512, or 1024 bitsxor/product or product/XORJenkins hash function32 or 64 bits XOR/addition Bernstein's hash djb232 or 64 bits shift/add or mult/add or shift/add/xor or mult/xorPJW hash / ELF hash32 or 64 bits add,shift,xorMurmurHash32, 64, or 128 bitsproduct/rotationFast-Hash32 or 64 bits xorshift operationsSpookyHash32, 64, or 128 bitssee Jenkins hash functionCityHash32, 64, 128, or 256 bitsFarmHash32, 64 or 128 bitsMetroHash64 or 128 bitsnumeric hash (nhash)Perl code at top half of page, English text at bottom half variabledivision/moduloxxHash32, 64 or 128 bitsproduct/rotationt1ha (Fast Positive Hash)64 or 128 bitsproduct/rotation/XOR/addGxHash32, 64 or 128 bitsAES block cipherpHashfixed or variablesee Perceptual hashingdhash128 bitssee Perceptual hashingSDBM32 or 64 bitsmult/add or shift/add also used in GNU AWK OSDB hash64 bitsaddkomihash64 bitsproduct/split/add/XOR

Keyed cryptographic hash functions

NameTag LengthTypeBLAKE2keyed hash function (prefix-MAC)BLAKE3256 bitskeyed hash function (supplied IV)HMACKMACarbitrarybased on KeccakMD6up to 512 bitsMerkle tree NLFSR (it is also an unkeyed hash function)One-key MAC (OMAC; CMAC)PMAC (cryptography)Poly1305-AES128 bitsnonce-basedSipHash32, 64 or 128 bitsnon-collision-resistant PRFHighwayHash64, 128 or 256 bitsnon-collision-resistant PRFUMACVMAC

Unkeyed cryptographic hash functions

NameLengthTypeBLAKE-256256 bitsHAIFA structureBLAKE-512512 bitsHAIFA structureBLAKE2sup to 256 bitsHAIFA structureBLAKE2bup to 512 bitsHAIFA structureBLAKE2XarbitraryHAIFA structure, extendable-output functions (XOFs) designBLAKE3arbitraryMerkle treeECOH224 to 512 bitshashFSB160 to 512 bitshashGOST256 bitshashGrøstlup to 512 bitshashHAS-160160 bitshashHAVAL128 to 256 bitshashJH224 to 512 bitshashLSH256 to 512 bitswide-pipe Merkle–Damgård constructionMD2128 bitshashMD4128 bitshashMD5128 bits Merkle–Damgård constructionMD6up to 512 bitsMerkle tree NLFSR (it is also a keyed hash function)RadioGatúnarbitraryideal mangling functionRIPEMD128 bitshashRIPEMD-128128 bitshashRIPEMD-160160 bitshashRIPEMD-256256 bitshashRIPEMD-320320 bitshashSHA-1160 bitsMerkle–Damgård constructionSHA-224224 bitsMerkle–Damgård constructionSHA-256256 bitsMerkle–Damgård constructionSHA-384384 bitsMerkle–Damgård constructionSHA-512512 bitsMerkle–Damgård constructionSHA-3 (subset of Keccak)arbitrarysponge functionSkeinarbitraryUnique Block IterationSnefru128 or 256 bitshashSpectral Hash512 bitswide-pipe Merkle–Damgård constructionStreebog256 or 512 bitsMerkle–Damgård constructionSWIFFT512 bitshashTiger192 bitsMerkle–Damgård constructionWhirlpool512 bitshash

See also Hash function security summary Secure Hash Algorithms NIST hash function competition Key derivation functions (category)

References