Cryptographic Hash Functions: The Complete List (2018 Updated)

What is a cryptographic hash function?

A cryptographic hash functions is a mathematical formula that helps you convert a given value to another value that is irreversible.

In a hash functions you can feed any size of information but you still get a same length value.

The value that you get after processing a set of data through a hash function is called a hash value or sometimes is commonly called a message digest.

The process of transforming a given set of data to a specific hash value is called hashing the data.

The resulting value after hashing is much smaller compared to the data that passed through the function. This makes hash functions to act like kind of compression functions.

The resulting value after hashing the data is called a digest.

One advantage of hash functions over normal ciphers techniques is that they as super fast and the resulting output is smaller too.

Hash are supposed to be one way function and irreversible.

Also a hash function should not result to the same value for two different pieces of information.

When two different pieces of data result to the same hash value, in that case collision has occurred and the function is not fit for use.

List of hash functions

A list of Keyed cryptographic hash functions

  • VMAC

This is a block cipher that is based on message authentication code (MAC). This algorithm was proposed by Ted Krovertz and Wei Dai in 2007.

  • UMAC

This is also message authentication code (MAC) that is calculated by choosing a hash function from a class of hash functions according to random method and applying it to the message.

  • BLAKE2

This is based on Dan Bernstein’s Chacha stream cipher with a slight permutation on the input block. This is a type of cryptographic hash function that goes up to 512 bits and it’s based on keyed hash function (prefix-MAC).

  • Poly1305-AES

Uses AES block cipher to expand the key. This is a type of cryptographic message code with 128 bits and it’s nonce-based.

  • SipHash

This is a 64 bits pseudorandom function based on non-collision-resistant PRF.

  • One-key MAC

This is constructed from a block cipher. They are of two types (OMAC1 and OMAC2).

  • PMAC

It works by taking a block cipher and creating a good MAC that is reducible in security to the underlying block cipher. It is very similar to OMAC algorithm.

  • MD6

This is a 512 bits cryptographic hash function based on merkle tree NLFSR.

  • HMAC

Hash based message authentication code is a type of MAC that uses a cryptographic hash function and a secret key.

A list of unkeyed cryptographic hash functions

  • BLAKE-256

This is a 256 bits hash function based on HAIFA structure.

  • BLAKE-512

This is a 512 bits hash function based on HAIFA structure.

  • BLAKE2s

This is a type of cryptographic hash function that goes up to 256 bits and it’s based on HAIFA structure.

  • BLAKE2b

This is a type of cryptographic hash function that goes up to 512 bits and it’s based on HAIFA structure.

  • ECOH

This is a type of hash that has a range of 224 to 512 bits.

  • FSB

This is a type of hash that has a range of 160 to 512 bits.

  • GOST

This is a 256 bits hash.

  • Grostl

This is a type of hash that goes up to 512 bits.

  • HAS-160

This is a 160 bits hash.

  • HAVAL

This is a type of hash that has a range of 128 to 256 bits.

  • JH

This is a type of hash that has a range of 224 to 512 bits.

  • MD2

This is a 128 bits hash.

  • MD4

This is a 128 bits hash.

  • MD6

This is a type of cryptographic hash function that goes up to 512 bits and it’s based on Merkle tree NLFSR.

  • MD5

This is a 128 bits hash function based on Merkle–Damgård construction.

  • RadioGatún

This is a type of hash that goes up to 1216 bits.

  • RIPEMD

This is a 128 bits hash.

  • RIPEMD-128

This is also a 128 bits hash.

  • RIPEMD-160

This is a 160 bits hash.

  • RIPEMD-320

This is a 320 bits hash.

  • Snefru

This is a type of hash that has a range of 128 to 256 bits.

  • SWIFFT

This is a 512 bits hash.

  • Whirlpool

This is also a 512 bits hash.

  • SHA-1

This is a 160 bits hash function based on Merkle–Damgård construction.

  • SHA-224

This is a 224 bits hash function also based on Merkle–Damgård construction.

  • SHA-256

This is a 256 bits hash function based on Merkle–Damgård construction.

  • SHA-384

This is a 384 bits hash function based on Merkle–Damgård construction.

  • SHA-512

This is a 512 bits hash function based on Merkle–Damgård construction.

  • SHA-3(Keccak)

This is a hash function based on Sponge function and has an arbitary bits length.

  • Streebog

This is a type of cryptographic hash function that ranges from 256 to 512 bits and it’s based on Merkle–Damgård construction.

  • Tiger

This is a 192 bits hash function based on Merkle–Damgård construction.

  • Skein

This is a cryptographic hash function based on Unique Block Iteration and has an arbitary bits length.

  • Spectral Hash

This is a 512 bits hash function based on Wide pipe Merkle–Damgård construction.

A list of Cyclic redundancy checks

  • BSD checksum

This is a 16 bits error-detecting code.

  • Checksum

This is a 32 bits error-detecting code.

  • CRC-16

This is also a 16 bits error-detecting code as the name suggests.

  • CRC-32

This is a 32 bits error-detecting code.

  • CRC-32 MPEG-2

This is a 32 bits error-detecting code.

  • CRC-64

This is a 64 bits error-detecting code.

  • SYSV checksum

This is a 16 bits error-detecting code.

A list of Checksums

  • Sum(Unix)

This is a 16 or 32 bits checksum algorithm.

  • Sum8

This is a 8 bits checksum algorithm.

  • Sum16

This is a 16 bits checksum.

  • Sum24

This is a 24 bits checksum algorithm.

  • Sum32

This is a 32 bits checksum algorithm.

  • Fletcher-4

This is a 4 bits checksum.

  • Fletcher-8

This is a 8 bits checksum.

  • Fletcher-16

This is a 16 bits checksum.

  • Fletcher-32

This is a 32 bits checksum.

  • Adler-32

This is a 32 bits checksum algorithm.

  • Xor8

This is a 8 bits checksum.

  • Luhn algorithm

This is a 1 decimal digit checksum algorithm.

  • Verhoeff algorithm

This is also a 1 decimal digit checksum.

  • Damm algorithm

This is a 1 decimal digit error detection algorithm based on Quasigroup operation

A list of Non-cryptographic hash functions

  • Pearson hashing

This is a 8 bits (and more) hash function based on XOR/table.

  • Paul Hsieh’s superFasthash

This is a 32 bits hash function.

  • Buzhash

This is a hash function based on XOR/table and has a variable bits length.

  • Fowler-Noll-Vo hash function(FNV Hash)

This is a non cryptographic hash function based on xor/product or product/XOR and has (32, 64, 128, 256, 512, or 1024 bits) lengths.

  • Jenkins hash function

This is a non cryptographic hash function based on XOR/addition and has (32 or 64 bits) lengths.

  • Java hashCode()

This is a 32 bits non cryptographic hash.

  • Bernstein hash djb2

This is also a 32 bits non cryptographic hash.

  • PJW hash(ElF Hash)

This is a 32 or 64 bits hash.

  • MurmurHash

This is a non cryptographic hash function based on product/rotation and has (32, 64, or 128 bits) lengths.

  • Fast-Hash

This is a non cryptographic hash function based on Xorshift operations and has (32, 64 bits) lengths.

  • SpookyHash

This is a 32, 64, or 128 bits non cryptographic hash.

  • CityHash

This is a 64, 128, or 256 bits non cryptographic hash.

  • FarmHash

This is a 32, 64 or 128 bits non cryptographic hash.

  • MetroHash

This is a 64 or 128 bits non cryptographic hash.

  • Numeric hash(nhash)

This is a non cryptographic hash function based on Division/Modulo and has a variable bits length.

  • xxHash

This is a non cryptographic hash function based on product/rotation and has a 32 or 64 bits length.

  • HighwayHash

This is a non cryptographic hash function based on product/permutation and has a 64, 128, or 256 bits length.

  • T1ha (Fast Positive Hash)

This is a non cryptographic hash function based on product/rotation/XOR/add and has a 64 and 128 bits length.

A list of Universal hash function families

  • Zobrist hashing

This is a cryptographic hash function based on XOR and has a variable bits length.

  • Universal one-way hash function

This is a hash function that acts as an alternative to collision-resistant hash functions (CRHFs).

 

  • Tabulation hashing

This is a hash function based on XOR and has a variable bits length.

  • Rabin fingerprint

This is a hash based on multiply and has a variable bits length.

A list of other hash functions

  • Atelopus

This is a 32 or 64 bits cryptographic hash.

  • Bash

This is a 256, 384 or 512 bits hash.

  • BMW

This is a 256 or 512 bits hash.

  • Cheetah

This is a 256 or 512 bits hash.

  • CubeHash

This is a 81, 82, 84, 88, 161, 162, 164, 168 or 512 bits cryptographic hash.

  • Echo

This is a 256 or 512 bits hash.

  • Echosp hash function

This is a 256 or 512 bits cryptographic hash.

  • Edonr hash function

This is a 256 or 512 bits hash.

  • Essence

This is a 224, 256, 384 or 512 bits hash.

  • Fugue

This is a 2, 256, 384 or 512 bits hash.

  • Hamsi

This is a 256 or 512 bits hash.

  • Lane

This is a 256 or 512 bits hash.

  • Luffa

This is a 256, 384 or 512 bits hash.

  • Lux

This is a 256 or 512 bits hash.

  • Mcssha (4, 5 or 6)

This is a 512 bits hash.

  • Nasha

This is a 256 or 512 bits hash.

  • RFSB-509

This hash uses SHA-256 as an output filter.

  • Round3jh

This is a 256 or 512 bits cryptographic hash.

  • Sarmal

This is a 256 or 512 bits cryptographic hash.

  • Shabal

This is a 256 or 512 bits hash.

  • Shake

This is a 128 or 256 bits cryptographic hash.

  • Shavite (3256, 3512)

This is a 256 or 512 bits hash.

  • Simd

This is a 256 or 512 bits cryptographic hash.

 

Now I want to hear from you.

What do you think of this list?

Or maybe I missed one of your favorite hash function.

Either way, let me know by leaving a comment below.

10 Comments

  1. Elixiry Youth May 8, 2018
    • Chris Pete May 8, 2018
  2. Max Pro 1000 Garcinia May 10, 2018
    • Chris Pete May 10, 2018
  3. Ultra Keto 550 Reviews May 15, 2018
    • Chris Pete May 15, 2018
    • Chris Pete May 15, 2018
  4. Lutragen Cream May 19, 2018
    • Chris Pete May 19, 2018

Add Comment