# Liste de fonctions de hachage

Cette page liste les fonctions de hachage. Parmi ces fonctions on trouve des contrôles de redondance cyclique, des sommes de contrôle et des fonctions de hachage cryptographiques.

## Contrôle de redondance cyclique

| Nom | Taille | Type |
| BSD checksum | 16 bits | CRC |
| Checksum | 32 bits | CRC |
| CRC-16 | 16 bits | CRC |
| CRC-32 | 32 bits | CRC |
| CRC-32 MPEG-2 | 32 bits | CRC |
| CRC-64 | 64 bits | CRC |
| SYSV checksum (en) | 16 bits | CRC |
La fonction Adler-32 est souvent prise pour un contrôle de redondance cyclique mais c'est une somme de contrôle.

## Somme de contrôles

| Nom | Taille | Type |
| sum (Unix) | 16 ou 32 bits | Somme |
| sum8 | 8 bits | Somme |
| sum16 | 16 bits | Somme |
| sum24 | 24 bits | Somme |
| sum32 | 32 bits | Somme |
| fletcher-4 | 4 bits | Somme |
| fletcher-8 | 8 bits | Somme |
| fletcher-16 | 16 bits | Somme |
| fletcher-32 | 32 bits | Somme |
| Adler-32 | 32 bits | Somme |
| xor8 | 8 bits | Somme |
| Formule de Luhn | 4 bits | Somme |
| Verhoeff algorithm | 4 bits | Somme |
| Damm algorithm | 1 chiffre décimal | Opérations dans un quasigroupe |

## Familles de fonctions de hachage universelles

| Nom | Taille | Type |
| Zobrist hashing | variable | xor |
| fonction de hachage universelle à sens unique | | |
| tabulation hashing | variable | xor |
| empreinte de Rabin | variable | multiply |

## Fonctions de hachage non cryptographiques

| Nom | Taille | Type |
| Pearson hashing (en) | 8 bits | xor/table |
| Paul Hsieh's SuperFastHash | 32 bits | |
| Buzhash | variable | xor/table |
| Fowler–Noll–Vo hash function (en) (FNV Hash) | 32, 64, 128, 256, 512, or 1024 bits | xor/product or product/xor |
| Jenkins hash function (en) | 32 or 64 bits | xor/addition |
| Java hashCode | 32 bits | |
| Bernstein hash djb2 | 32 bits | |
| PJW hash / Elf Hash | 32, 64 bits | hash |
| MurmurHash (en) | 32, 64, or 128 bits | product/rotation |
| SpookyHash | 32, 64 or 128 bits | Cf Jenkins hash function |
| CityHash | 64, 128, or 256 bits | |
| numeric hash (nhash) | variable | Division/Modulo |
| xxHash | 32, 64 bits | |

## Fonctions de hachage cryptographiques avec clé

| Nom | Tag Length | Type |
| VMAC | | |
| UMAC | | |
| Poly1305-AES | 128 bits | nonce-based |
| PMAC (cryptography) | | |
| SipHash | 64 bits | non-collision-resistant PRF |
| One-key MAC | | |
| MD6 | 512 bits | Arbre de Merkle NLFSR |
| Hash-based message authentication code | | |

## Fonctions de hachage cryptographiques sans clé

| Nom | Taille | Type |
| BLAKE-256 | 256 bits | HAIFA structure |
| BLAKE-512 | 512 bits | HAIFA structure |
| ECOH | 224 to 512 bits | hash |
| FSB | 160 to 512 bits | hash |
| GOST | 256 bits | hash |
| Grøstl | 256 to 512 bits | hash |
| HAS-160 | 160 bits | hash |
| HAVAL | 128 to 256 bits | hash |
| JH | 512 bits | hash |
| MD2 | 128 bits | hash |
| MD4 | 128 bits | hash |
| MD5 | 128 bits | Construction de Merkle-Damgård |
| MD6 | 512 bits | Arbre de Merkle NLFSR (C'est aussi une fonction de hachage à clé) |
| RadioGatún | Up to 1216 bits | hash |
| RIPEMD | 128 bits | hash |
| RIPEMD-128 | 128 bits | hash |
| RIPEMD-160 | 160 bits | hash |
| RIPEMD-320 | 320 bits | hash |
| SHA-1 | 160 bits | Construction de Merkle-Damgård |
| SHA-224 | 224 bits | Construction de Merkle-Damgård |
| SHA-256 | 256 bits | Construction de Merkle-Damgård |
| SHA-384 | 384 bits | Construction de Merkle-Damgård |
| SHA-512 | 512 bits | Construction de Merkle-Damgård |
| SHA-3 (Nommée anciennement Keccak) | arbitraire | fonction éponge |
| Skein | arbitraire | Unique Block Iteration |
| Snefru | 128 or 256 bits | hash |
| Spectral Hash | 512 bits | Wide pipe Construction de Merkle-Damgård |
| SWIFFT | 512 bits | hash |
| Tiger | 192 bits | Construction de Merkle-Damgård |
| Whirlpool | 512 bits | hash |