Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Cyclic redundancy checks  





2 Checksums  





3 Universal hash function families  





4 Non-cryptographic hash functions  





5 Keyed cryptographic hash functions  





6 Unkeyed cryptographic hash functions  





7 See also  





8 References  














List of hash functions






Français
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


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 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[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.
  • ^ a b "Hash functions". www.cse.yorku.ca. Retrieved 2020-06-16.
  • ^ Zilong Tan (31 December 2021). "fast-hash on Github". GitHub.
  • ^ cityhashonGitHub
  • ^ farmhashonGitHub
  • ^ MetroHashonGitHub
  • ^ Perl code at top half of page, English text at bottom half Archived 2016-03-04 at the Wayback Machine
  • ^ xxHashonGitHub
  • ^ Leonid Yuriev (25 January 2022). "t1ha on Github". GitHub.
  • ^ gxhashonGitHub
  • ^ "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.
  • ^ komihashonGitHub
  • ^ highwayhashonGitHub
  • ^ a b c d e 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.

  • Retrieved from "https://en.wikipedia.org/w/index.php?title=List_of_hash_functions&oldid=1230546533"

    Categories: 
    Hash functions
    Checksum algorithms
    Cryptography lists and comparisons
    Hidden categories: 
    Webarchive template wayback links
    CS1 maint: multiple names: authors list
    Articles with short description
    Short description is different from Wikidata
    Articles using small message boxes
    Incomplete lists from February 2024
     



    This page was last edited on 23 June 2024, at 10:21 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki