Fowler-Noll-Vo FNV1a-64 Hash-Code-Rechner
Veröffentlicht: 17. Februar 2025 um 21:46:27 UTC
Zuletzt aktualisiert: 12. Januar 2026 um 13:27:28 UTC
Fowler-Noll-Vo FNV1a-64 Hash Code Calculator
Die 64-Bit-Hashfunktion FNV-1a gehört zur Familie der Fowler-Noll-Vo-Hashfunktionen (FNV) und ist für schnelles Hashing bei gleichzeitig guter Verteilung der Hashwerte ausgelegt. Sie wird häufig in Anwendungen wie Hashtabellen, Prüfsummen und Datenabfragen eingesetzt. Sie erzeugt einen 64-Bit-Hashcode (8 Byte), der oft als 16-stellige Hexadezimalzahl dargestellt wird.
Die Variante FNV-1a ist eine verbesserte Version der ursprünglichen FNV-1-Funktion mit höherer Sicherheit.
Vollständige Offenlegung: Ich habe die spezielle Implementierung der auf dieser Seite verwendeten Hash-Funktion nicht geschrieben. Es handelt sich um eine Standardfunktion, die in der Programmiersprache PHP enthalten ist. Ich habe lediglich die Webschnittstelle erstellt, um sie hier der Einfachheit halber öffentlich zugänglich zu machen.
Über den Fowler-Noll-Vo FNV-1a 64-Bit-Hash-Algorithmus
Ich bin kein Mathematiker, aber ich versuche, diese Hash-Funktion anhand einer Analogie zu erklären, die auch Nicht-Mathematiker verstehen. Wer eine wissenschaftlich korrekte, aber komplizierte mathematische Erklärung bevorzugt, findet diese sicher woanders ;-)
Stellen wir uns den FNV-1-Algorithmus zunächst wie ein Rezept für einen besonderen Smoothie vor. Jede Zutat, die Sie hinzufügen (wie Früchte, Milch oder Honig), repräsentiert ein Datenelement – wie Buchstaben, Zahlen oder sogar eine ganze Datei.
Das Ziel ist es nun, diese Zutaten auf eine ganz bestimmte Weise zu mischen, sodass selbst die kleinste Änderung im Rezept (wie das Hinzufügen einer zusätzlichen Blaubeere) den Geschmack des Smoothies völlig verändert. Genau so funktionieren Hash-Funktionen – sie erzeugen für jede einzigartige Kombination von Zutaten (oder Eingabedaten) einen individuellen „Geschmack“ (oder Hash-Wert).
Der FNV-1-Algorithmus geht dabei in einem mehrstufigen Prozess vor:
Schritt 1: Beginnen Sie mit einer Basis (Offset-Basis)
Stellen Sie sich das so vor, als würden Sie eine spezielle Smoothie-Basis in Ihren Mixer geben. Diese Basis bleibt immer gleich, egal welche Zutaten Sie hinzufügen. In FNV-1 wird dies als „Offset-Basis“ bezeichnet – einfach eine ausgefallene Ausgangszahl.
Schritt 2: Zutaten nacheinander hinzufügen (Verarbeitungsdaten)
Nun fügen Sie nacheinander Ihre Zutaten hinzu – beispielsweise eine Erdbeere, dann eine Banane und dann etwas Honig. Jede dieser Zutaten repräsentiert ein Byte an Daten.
Schritt 3: Mit einem geheimen Multiplikator (dem FNV Prime) kombinieren
Nachdem man jede Zutat hinzugefügt hat, drückt man den Mixknopf. Der Clou dabei: Der Mixer multipliziert alles mit einer geheimen „magischen Zahl“, dem sogenannten FNV-Primum. Dadurch wird alles besonders gut vermischt.
Schritt 4: Eine Prise Magie hinzufügen (XOR-Operation)
Bevor Sie die nächste Zutat hinzufügen, streuen Sie eine Prise Zauberpulver darüber (das ist die XOR-Operation). Es ist, als würde man den Geschmack auf unerwartete Weise verändern und so sicherstellen, dass selbst kleine Änderungen einen großen Unterschied machen.
Schritt 5: Wiederholen, bis der Vorgang abgeschlossen ist.
Man mixt und streut nach jeder neuen Zutat etwas von der Magie darüber, bis alles verarbeitet ist.
Schritt 6: Endgültiger Smoothie (Hashwert)
Wenn du fertig bist, gießt du den Smoothie aus. Der endgültige Geschmack (der Hashwert) ist einzigartig für diese exakte Zutatenkombination. Hättest du auch nur eine einzige Blaubeere mehr hinzugefügt, würde er völlig anders schmecken.
Die hier vorgestellte Version ist die verbesserte 64-Bit-Version FNV-1a. Falls Sie die Originalversion benötigen, habe ich auch dafür einen Rechner: Link
Weitere Informationen
Wenn Ihnen dieser Beitrag gefallen hat, könnten Ihnen auch diese Vorschläge gefallen:
