Calcolatrice del codice hash Fowler-Noll-Vo FNV1-64
Pubblicato: 17 febbraio 2025 alle ore 21:34:52 UTC
Ultimo aggiornamento: 12 gennaio 2026 alle ore 13:26:38 UTC
Fowler-Noll-Vo FNV1-64 Hash Code Calculator
La funzione hash FNV-1 a 64 bit fa parte della famiglia di funzioni hash Fowler–Noll–Vo (FNV), progettata per un hashing rapido mantenendo una buona distribuzione dei valori hash. È comunemente utilizzata in applicazioni come tabelle hash, checksum e ricerche di dati. Produce un codice hash a 64 bit (8 byte), spesso rappresentato come un numero esadecimale a 16 cifre.
Informazioni complete: non ho scritto l'implementazione specifica della funzione hash utilizzata in questa pagina. Si tratta di una funzione standard inclusa nel linguaggio di programmazione PHP. Ho solo creato l'interfaccia web per renderla pubblicamente disponibile qui per comodità.
Informazioni sull'algoritmo hash Fowler-Noll-Vo FNV-1 a 64 bit
Non sono un matematico, ma cercherò di spiegare questa funzione hash usando un'analogia che i miei colleghi non matematici possano comprendere. Se preferite una spiegazione scientificamente corretta, ma con un approccio matematico spaventoso, sono sicuro che la troverete altrove ;-)
Per prima cosa, pensiamo all'algoritmo FNV-1 come a una ricetta per preparare un frullato speciale. Ogni ingrediente aggiunto (come frutta, latte o miele) rappresenta un dato, come lettere, numeri o persino un intero file.
Ora, l'obiettivo è mescolare questi ingredienti in un modo molto specifico, in modo che anche la minima modifica alla ricetta (come l'aggiunta di un mirtillo in più) renda il frullato completamente diverso. È così che funzionano le funzioni hash: creano un "sapore" (o valore hash) unico per ogni set unico di ingredienti (o dati di input).
Il modo in cui l'algoritmo FNV-1 esegue questa operazione è un processo in più fasi:
Fase 1: Iniziare con una base (base offset)
Immagina di versare una base speciale per un frullato nel frullatore. Questa base è sempre la stessa, indipendentemente dagli ingredienti che aggiungi. In FNV-1, questa si chiama "base offset", solo un numero di partenza fantasioso.
Fase 2: aggiungere gli ingredienti uno alla volta (elaborazione dei dati)
Ora inizia ad aggiungere gli ingredienti, uno alla volta: diciamo una fragola, poi una banana, poi un po' di miele. Ognuno di questi rappresenta un byte di dati.
Fase 3: Miscela con un moltiplicatore segreto (FNV Prime)
Dopo aver aggiunto ogni ingrediente, si preme il pulsante "frulla", ma ecco la sorpresa: il frullatore moltiplica tutto per un "numero magico" segreto chiamato VN primo. Questo aiuta a mescolare gli ingredienti molto bene.
Fase 4: Aggiungi un pizzico di magia (operazione XOR)
Prima di aggiungere l'ingrediente successivo, si aggiunge un po' di polvere magica (questa è l'operazione XOR). È come cambiare il sapore in modi inaspettati, assicurandosi che anche piccoli cambiamenti facciano una grande differenza.
Passaggio 5: ripetere fino al termine
Continui a mescolare e a cospargere di magia ogni nuovo ingrediente finché non hai lavorato tutto.
Fase 6: Frullato finale (valore hash)
Una volta finito, versi il frullato. Il sapore finale (il valore di hash) è unico per quella precisa combinazione di ingredienti. Se avessi aggiunto anche solo un mirtillo in più, il sapore sarebbe completamente diverso.
La versione presentata qui è la versione originale FNV-1 a 64 bit. È disponibile anche una versione migliorata FNV-1a a 64 bit: Link
Ulteriori letture
Se ti è piaciuto questo post, potrebbero piacerti anche questi suggerimenti:
- Calcolatrice del codice hash MD5
- Calcolatrice del codice hash HAVAL-192/5
- Calcolatrice del codice hash SHA-384
