Aller au contenu
uencoder

FNV

FNV (Fowler-Noll-Vo) est un hachage non cryptographique simple, calculé rapidement par XOR et multiplication par un nombre premier, utilisé pour les tables de hachage et les empreintes.

Objectif

Fournir un hachage non cryptographique à très faible surcoût, adapté à la distribution de clés de tables de hachage et aux empreintes rapides.

Mécanisme

FNV-1 : hash = (hash × FNV_prime) ⊕ octet ; FNV-1a : hash = (hash ⊕ octet) × FNV_prime. La base d'offset et le nombre premier dépendent de la largeur de mot (ex. FNV-1a 32 bits utilise 2166136261 et 16777619). Non cryptographique, sans résistance aux collisions.

Cas d’usage

  • Distribution de clés en tables de hachage
  • Empreintes de déduplication rapides
  • Hachage de routage d'URL
  • Sommes de contrôle hors sécurité

Exemples

  • entrée
    hello
    Output
    0x4f9f2cab

    FNV-1a 32-bit

Erreurs courantes

Using FNV for cryptographic authentication
FNV is not cryptographic; use HMAC-SHA256

Termes associés

Outils associés

References