Zum Inhalt springen
uencoder

FNV

FNV (Fowler-Noll-Vo) ist ein einfacher, nicht-kryptografischer Hash, der per XOR und Multiplikation mit einer Primzahl schnell berechnet wird; genutzt für Hash-Tabellen und Fingerabdrücke.

Zweck

Einen äußerst schlanken nicht-kryptografischen Hash bieten, geeignet für die Schlüsselverteilung in Hash-Tabellen und schnelle Fingerabdrücke.

Mechanismus

FNV-1: hash = (hash × FNV_prime) ⊕ Byte; FNV-1a: hash = (hash ⊕ Byte) × FNV_prime. Offset-Basis und Primzahl hängen von der Wortbreite ab (z. B. FNV-1a 32 Bit nutzt 2166136261 und 16777619). Nicht kryptografisch, ohne Kollisionsresistenz.

Anwendungsfälle

  • Schlüsselverteilung in Hash-Tabellen
  • Schnelle Dedup-Fingerabdrücke
  • URL-Routing-Hashes
  • Checksummen ohne Sicherheitsanspruch

Beispiele

  • Eingabe
    hello
    Output
    0x4f9f2cab

    FNV-1a 32-bit

Häufige Fehler

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

Verwandte Begriffe

Verwandte Tools

References