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 (Unix) | 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 (Unix) | 16 bits | sum with circular rotation | 
| SYSV checksum (Unix) | 16 bits | sum with circular rotation | 
| sum8 | 8 bits | sum | 
| Internet Checksum | 16 bits | sum (ones' complement) | 
| 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 (or more) | XOR/table | 
| Paul Hsieh's SuperFastHash[1] | 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 | 
| Bernstein's hash djb2[2] | 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[3] | 32, 64 bits | xorshift operations | 
| SpookyHash | 32, 64, or 128 bits | see Jenkins hash function | 
| CityHash[4] | 32, 64, 128, or 256 bits | |
| FarmHash[5] | 32, 64 or 128 bits | |
| MetroHash[6] | 64 or 128 bits | |
| numeric hash (nhash)[7] | variable | division/modulo | 
| xxHash[8] | 32, 64, 128 bits | product/rotation | 
| t1ha (Fast Positive Hash)[9] | 64 and 128 bits | product/rotation/XOR/add | 
| pHash[10] | fixed or variable | see Perceptual hashing | 
| dhash[11] | 128 bits | see Perceptual hashing | 
| SDBM [2][12] | 32 or 64 bits | mult/add or shift/add also used in GNU AWK | 
| OSDB hash[13] | 64 bits | add | 
Keyed cryptographic hash functions
    
| Name | Tag Length | Type | 
|---|---|---|
| BLAKE2 | keyed hash function (prefix-MAC) | |
| BLAKE3 | 256 bits | keyed hash function (supplied IV) | 
| HMAC | ||
| KMAC | arbitrary | based on Keccak | 
| MD6 | 512 bits | Merkle tree NLFSR | 
| One-key MAC (OMAC; CMAC) | ||
| PMAC (cryptography) | ||
| Poly1305-AES | 128 bits | nonce-based | 
| SipHash | 32, 64 or 128 bits | non-collision-resistant PRF | 
| HighwayHash[14] | 64, 128 or 256 bits | non-collision-resistant PRF | 
| UMAC | ||
| VMAC | ||
Unkeyed cryptographic hash functions
    
| Name | Length | Type | 
|---|---|---|
| BLAKE-256 | 256 bits | HAIFA structure[15] | 
| BLAKE-512 | 512 bits | HAIFA structure[15] | 
| BLAKE2s | up to 256 bits | HAIFA structure[15] | 
| BLAKE2b | up to 512 bits | HAIFA structure[15] | 
| BLAKE2X | arbitrary | HAIFA structure,[15] extendable-output functions (XOFs) design[16] | 
| 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[17] | 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 (it is also a keyed hash function) | 
| RadioGatún | arbitrary | ideal mangling function | 
| 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 (subset of 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
    
- Hash function security summary
- Secure Hash Algorithms
- NIST hash function competition
- Key derivation functions (category)
References
    
- "Hash functions". www.azillionmonkeys.com. Retrieved 2015-06-10.
- "Hash functions". www.cse.yorku.ca. Retrieved 2020-06-16.
- Zilong Tan (31 December 2021). "fast-hash on Github". GitHub.
- cityhash on GitHub
- farmhash on GitHub
- MetroHash on GitHub
- Perl code at top half of page, English text at bottom half
- xxHash on GitHub
- Leonid Yuriev (25 January 2022). "t1ha on Github". GitHub.
- "pHash.org: Home of pHash, the open source perceptual hash library". pHash.org. Retrieved 2020-06-16.
- "dhash". PyPI. 2017-08-23. Retrieved 2020-06-16.
- "original SDBM source code". github mirror repository. Retrieved 2020-10-30.
- "HashSourceCodes". OpenSubtitles.org. Retrieved 2022-08-08.
- highwayhash on GitHub
- Eli Biham and Orr Dunkelman (20 July 2007). "A Framework for Iterative Hash Functions – HAIFA". Cryptology ePrint Archive.
-  Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O’Hearn, and Christian Winnerlein (3 December 2016). "BLAKE2X" (PDF).{{cite web}}: CS1 maint: multiple names: authors list (link)
- Kim, Dong-Chan; Hong, Deukjo; Lee, Jung-Keun; Kim and, Woo-Hwan; Kwon, Daesung (2016). "LSH: A New Fast Secure Hash Function Family" (PDF). Information Security and Cryptology - ICISC 2014. Lecture Notes in Computer Science. Vol. 8949. pp. 286–313. doi:10.1007/978-3-319-15943-0_18. ISBN 978-3-319-15942-3. S2CID 35700807. Archived from the original (PDF) on 2018-10-08.
    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.