CoderTools

FNV-Hash-Generator

Fowler-Noll-Vo nicht-kryptographische Hash-Funktion

Über FNV-Hash

Was ist FNV-Hash?

FNV (Fowler-Noll-Vo) ist eine nicht-kryptographische Hash-Funktion, die von Glenn Fowler, Landon Curt Noll und Kiem-Phong Vo entwickelt wurde. Sie wurde erstmals 1991 veröffentlicht und ist für ihre Einfachheit, Geschwindigkeit und guten Verteilungseigenschaften bekannt. FNV wird häufig in Hash-Tabellen, Prüfsummen und Daten-Fingerprinting verwendet.

Algorithmus-Varianten

  • FNV-1a: Die verbesserte Variante, die das Byte zuerst mit dem Hash XOR-verknüpft und dann multipliziert. Empfohlen für die meisten Anwendungsfälle wegen besserer Lawinen-Eigenschaften.
  • FNV-1: Die ursprüngliche Variante, die zuerst multipliziert und dann XOR-verknüpft. Immer noch nützlich, aber FNV-1a wird allgemein bevorzugt.

Verfügbare Bit-Längen

  • 32-bit: 8-Zeichen Hex-Ausgabe. Schnell und geeignet für Hash-Tabellen mit moderaten Datenmengen.
  • 52-bit: 13-Zeichen Hex-Ausgabe. Optimiert für JavaScripts 53-Bit sicheren Ganzzahlbereich. Gute Balance zwischen Geschwindigkeit und Kollisionswiderstand.
  • 64-bit: 16-Zeichen Hex-Ausgabe. Größerer Hash-Raum für reduzierte Kollisionswahrscheinlichkeit bei großen Datensätzen.

Häufige Anwendungsfälle

  • Hash-Tabellen und Hash-Maps für schnelle Schlüsselsuchen
  • Datendeduplizierung und Inhalts-Fingerprinting
  • Prüfsummenverifizierung für Datenintegrität
  • Bloom-Filter und probabilistische Datenstrukturen

FNV-Hash ist nicht kryptographisch sicher. Verwenden Sie es nicht für Passwörter, digitale Signaturen oder sicherheitskritische Anwendungen. Für kryptographische Anwendungsfälle verwenden Sie SHA-256 oder BLAKE2.

Verwandte Tools