Miklix

Calculadora de codi hash Fowler-Noll-Vo FNV1-32

Publicat: 5 de març del 2025, a les 19:24:45 UTC

Calculadora de codi hash que utilitza la funció hash Fowler-Noll-Vo 1 de 32 bits (FNV1-32) per calcular un codi hash basat en l'entrada de text o la càrrega de fitxers.

Aquesta pàgina es va traduir automàticament de l'anglès per tal de fer-la accessible al màxim de persones possible. Malauradament, la traducció automàtica encara no és una tecnologia perfeccionada, de manera que es poden produir errors. Si ho prefereixes, pots veure la versió original en anglès aquí:

Fowler-Noll-Vo FNV1-32 Hash Code Calculator

La funció hash FNV-1 de 32 bits forma part de la família de funcions hash Fowler–Noll–Vo (FNV), dissenyades per a hash ràpid mantenint una bona distribució dels valors hash. S'utilitza habitualment en aplicacions com taules hash, sumes de comprovació i cerques de dades. Produeix un codi hash de 32 bits (4 bytes), sovint representat com un nombre hexadecimal de 8 dígits.

Divulgació completa: no vaig escriure la implementació específica de la funció hash utilitzada en aquesta pàgina. És una funció estàndard inclosa amb el llenguatge de programació PHP. Només he creat la interfície web per fer-la disponible públicament aquí per comoditat.


Calcula el nou codi hash

Les dades enviades o els fitxers penjats a través d'aquest formulari només es conservaran al servidor durant el temps que es triga a generar el codi hash sol·licitat. Se suprimirà immediatament abans que el resultat es torni al vostre navegador.

Dades d'entrada:



El text enviat està codificat en UTF-8. Com que les funcions hash funcionen amb dades binàries, el resultat serà diferent que si el text estigués en una altra codificació. Si necessiteu calcular un hash d'un text en una codificació específica, hauríeu de pujar un fitxer.



Sobre l'algoritme Hash Fowler-Noll-Vo FNV-1 de 32 bits

No sóc matemàtic, però intentaré explicar aquesta funció hash utilitzant una analogia que els meus companys no matemàtics puguin entendre. Si preferiu una explicació matemàtica científicament correcta i espantosa, segur que la trobareu en un altre lloc ;-)

Primer, pensem en l'algoritme FNV-1 com una recepta per fer un batut especial. Cada ingredient que afegiu (com ara fruites, llet o mel) representa una dada, com ara lletres, números o fins i tot un fitxer sencer.

Ara, l'objectiu és barrejar aquests ingredients d'una manera molt específica perquè fins i tot el més petit canvi en la recepta (com afegir un nabiu addicional) faci que el batut tingui un gust completament diferent. Així és com funcionen les funcions hash: creen un "sabor" (o valor hash) únic per a cada conjunt únic d'ingredients (o dades d'entrada).

La manera com l'algoritme FNV-1 ho fa és un procés de diversos passos:

Pas 1: comença amb una base (base de compensació)

Penseu en això com abocar una base especial de batut a la vostra batedora. Aquesta base és sempre la mateixa, independentment dels ingredients que afegiu. A FNV-1, això s'anomena "base de compensació", només un número de partida fantàstic.

Pas 2: afegiu els ingredients un per un (processament de dades)

Ara comenceu a afegir els vostres ingredients, un a un, diguem-ne una maduixa, després un plàtan i una mica de mel. Cadascun d'ells representa un byte de dades.

Pas 3: barreja amb un multiplicador secret (el FNV Prime)

Després d'afegir cada ingredient, premeu el botó de barreja, però aquí teniu el gir: la batedora ho multiplica tot per un "número màgic" secret anomenat FNV primer. Això ajuda a barrejar molt bé les coses.

Pas 4: afegiu un Dash of Magic (operació XOR)

Abans d'afegir el següent ingredient, espolvoreu una mica de pols màgic (aquesta és l'operació XOR). És com canviar el sabor de maneres inesperades, assegurant-se que fins i tot els petits canvis fan una gran diferència.

Pas 5: repetiu fins que estigui fet

Continueu barrejant i ruixant màgia després de cada ingredient nou fins que ho hàgiu processat tot.

Pas 6: batut final (valor hash)

Quan hàgiu acabat, aboqueu el batut. El gust final (el valor hash) és exclusiu d'aquesta combinació exacta d'ingredients. Si haguéssiu afegit fins i tot un nabiu addicional, tindria un gust completament diferent.

La versió que es presenta aquí és la versió original de FNV-1 de 32 bits. També hi ha una versió millorada de FNV-1a de 32 bits disponible: Calculadora de codi hash Fowler-Noll-Vo FNV1a-32

Comparteix a BlueskyComparteix a FacebookComparteix a LinkedInComparteix a TumblrComparteix a XComparteix a LinkedInPin a Pinterest

Mikkel Bang Christensen

Sobre l'autor

Mikkel Bang Christensen
Mikkel és el creador i propietari de miklix.com. Té més de 20 anys d'experiència com a programador/desenvolupador de programari informàtic professional i actualment treballa a temps complet per a una gran corporació informàtica europea. Quan no fa blocs, dedica el seu temps lliure a una gran varietat d'interessos, aficions i activitats, que fins a cert punt es poden reflectir en la varietat de temes tractats en aquest lloc web.