Miklix

Calcolatrice del codice hash Fowler-Noll-Vo FNV1-64

Pubblicato: 17 febbraio 2025 alle ore 21:34:52 UTC

Calcolatrice del codice hash che utilizza la funzione hash Fowler-Noll-Vo 1 a 64 bit (FNV1-64) per calcolare un codice hash in base all'input di testo o al caricamento di un file.

Questa pagina è stata tradotta automaticamente dall'inglese per renderla accessibile al maggior numero di persone possibile. Purtroppo, la traduzione automatica non è ancora una tecnologia perfezionata, quindi possono verificarsi degli errori. Se preferite, potete consultare la versione originale in inglese qui:

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 veloce 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à.


Calcolo del nuovo codice Hash

I dati inviati o i file caricati tramite questo modulo saranno conservati sul server solo per il tempo necessario a generare il codice hash richiesto. Verranno cancellati immediatamente prima che il risultato venga restituito al browser.

Dati di ingresso:



Il testo inviato è codificato in UTF-8. Poiché le funzioni hash operano su dati binari, il risultato sarà diverso da quello ottenuto se il testo è in un'altra codifica. Se è necessario calcolare un hash di un testo in una codifica specifica, è necessario caricare un file.



Informazioni sull'algoritmo hash a 64 bit Fowler-Noll-Vo FNV-1

Non sono un matematico, ma proverò a spiegare questa funzione hash usando un'analogia che i miei colleghi non matematici possano capire. Se preferisci una spiegazione scientificamente corretta e spaventosa, sono sicuro che puoi trovarla altrove ;-)

Per prima cosa, pensiamo all'algoritmo FNV-1 come a una ricetta per preparare uno speciale frullato. Ogni ingrediente che aggiungi (come frutta, latte o miele) rappresenta un pezzo di dati, come lettere, numeri o persino un intero file.

Ora, l'obiettivo è mescolare questi ingredienti in un modo molto specifico, in modo che anche il più piccolo cambiamento nella ricetta (come l'aggiunta di un mirtillo in più) renda il sapore del frullato completamente diverso. Ecco come funzionano le funzioni hash: creano un "sapore" unico (o valore hash) 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 frullato nel tuo frullatore. Questa base è sempre la stessa, indipendentemente dagli ingredienti che aggiungi. In FNV-1, questa è chiamata "base offset", solo un numero di partenza fantasioso.

Fase 2: Aggiungere gli ingredienti uno alla volta (elaborazione dei dati)

Ora inizia ad aggiungere i tuoi 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, premi il pulsante "frulla", ma ecco il colpo di scena: il frullatore moltiplica tutto per un "numero magico" segreto chiamato FNV primo. Questo aiuta a mescolare le cose molto bene.

Passaggio 4: aggiungi un pizzico di magia (operazione XOR)

Prima di aggiungere l'ingrediente successivo, si spruzza un po' di polvere magica (questa è l'operazione XOR). È come capovolgere il sapore in modi inaspettati, assicurandosi che anche piccoli cambiamenti facciano una grande differenza.

Passaggio 5: ripetere fino al termine

Continui a frullare e ad aggiungere la magia dopo ogni nuovo ingrediente, finché non hai finito di lavorarli tutti.

Fase 6: Frullato finale (valore hash)

Quando hai finito, versi il frullato. Il sapore finale (il valore hash) è unico per quella combinazione esatta di ingredienti. Se avessi aggiunto anche un solo mirtillo in più, il sapore sarebbe stato completamente diverso.

La versione presentata qui è la versione originale FNV-1 a 64 bit. Esiste anche una versione migliorata FNV-1a a 64 bit disponibile: Calcolatrice del codice hash Fowler-Noll-Vo FNV1a-64

Condividi su BlueskyCondividi su FacebookCondividi su LinkedInCondividi su TumblrCondividi su XCondividi su LinkedInAggiungi su Pinterest

Mikkel Bang Christensen

Sull'autore

Mikkel Bang Christensen
Mikkel è il creatore e proprietario di miklix.com. Ha oltre 20 anni di esperienza come programmatore di computer/sviluppatore di software ed è attualmente impiegato a tempo pieno in una grande azienda IT europea. Quando non scrive sul blog, dedica il suo tempo libero a una vasta gamma di interessi, hobby e attività, che in qualche modo si riflettono nella varietà di argomenti trattati in questo sito.