Edge Rewrite
// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a40b428a0936d945

Jump to content

List of hash functions

From Wikipedia, the free encyclopedia
(Redirected from CityHash)

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

Cyclic redundancy checks

[edit]
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

[edit]
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

[edit]
Name Length Type
Rabin fingerprint variable multiply
tabulation hashing variable XOR
universal one-way hash function
Zobrist hashing variable XOR

Non-cryptographic hash functions

[edit]
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 or 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 or 128 bits product/rotation
t1ha (Fast Positive Hash)[9] 64 or 128 bits product/rotation/XOR/add
GxHash[10] 32, 64 or 128 bits AES block cipher
pHash[11] fixed or variable see Perceptual hashing
dhash[12] 128 bits see Perceptual hashing
SDBM[2][13] 32 or 64 bits mult/add or shift/add
also used in GNU AWK
OSDB hash[14] 64 bits add
komihash[15] 64 bits product/split/add/XOR

Keyed cryptographic hash functions

[edit]
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 up to 512 bits Merkle tree NLFSR (it is also an unkeyed hash function)
One-key MAC (OMAC; CMAC)
PMAC (cryptography)
Poly1305-AES 128 bits nonce-based
SipHash 32, 64 or 128 bits non-collision-resistant PRF
HighwayHash[16] 64, 128 or 256 bits non-collision-resistant PRF
UMAC
VMAC

Unkeyed cryptographic hash functions

[edit]
Name Length Type
BLAKE-256 256 bits HAIFA structure[17]
BLAKE-512 512 bits HAIFA structure[17]
BLAKE2s up to 256 bits HAIFA structure[17]
BLAKE2b up to 512 bits HAIFA structure[17]
BLAKE2X arbitrary HAIFA structure,[17] extendable-output functions (XOFs) design[18]
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[19] 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-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 (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

[edit]

References

[edit]
  1. ↑ "Hash functions". www.azillionmonkeys.com. Retrieved 2015-06-10.
  2. 1 2 "Hash functions". www.cse.yorku.ca. Retrieved 2020-06-16.
  3. ↑ Zilong Tan (31 December 2021). "fast-hash on Github". GitHub.
  4. ↑ cityhash on GitHub
  5. ↑ farmhash on GitHub
  6. ↑ MetroHash on GitHub
  7. ↑ Perl code at top half of page, English text at bottom half Archived 2016-03-04 at the Wayback Machine
  8. ↑ xxHash on GitHub
  9. ↑ Leonid Yuriev (25 January 2022). "t1ha on Github". GitHub.
  10. ↑ gxhash on GitHub
  11. ↑ "pHash.org: Home of pHash, the open source perceptual hash library". pHash.org. Retrieved 2020-06-16.
  12. ↑ "dhash". PyPI. 2017-08-23. Retrieved 2020-06-16.
  13. ↑ "original SDBM source code". github mirror repository. Retrieved 2020-10-30.
  14. ↑ "HashSourceCodes". OpenSubtitles. Retrieved 2022-08-08.
  15. ↑ komihash on GitHub
  16. ↑ highwayhash on GitHub
  17. 1 2 3 4 5 Eli Biham and Orr Dunkelman (20 July 2007). "A Framework for Iterative Hash Functions – HAIFA". Cryptology ePrint Archive.
  18. ↑ Aumasson, Jean-Philippe; Neves, Samuel; Wilcox-O’Hearn, Zooko; Winnerlein, Christian (3 December 2016). "BLAKE2X" (PDF).
  19. ↑ 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.