From Wikipedia, the free encyclopedia
Wikimedia list article
This is a list of hash functions, including cyclic redundancy checks, checksum functions, and cryptographic hash functions.
Cyclic redundancy checks
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
|
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
|
1 decimal digit
|
sum
|
Verhoeff algorithm
|
1 decimal digit
|
sum
Universal hash function families
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
|
Keyed cryptographic hash functions
Unkeyed cryptographic hash functions
See also
References
- ^ "Hash functions". www.azillionmonkeys.com. Retrieved 2015-06-10.
- ^ a b "Hash functions". www.cse.yorku.ca. Retrieved 2020-06-16.
- ^ Zilong Tan. "fast-hash on 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. "t1ha on 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.
- ^ highwayhash on GitHub
- ^ a b c d e Eli Biham and Orr Dunkelman (20 July 2007). "A Framework for Iterative Hash Functions – HAIFA".
- ^ Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O’Hearn, and Christian Winnerlein (3 December 2016). "BLAKE2X" (PDF). 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).
|