Calculadora de codi hash Fowler-Noll-Vo FNV1a-32
Publicat: 5 de març del 2025, a les 19:24:50 UTC
Última actualització: 12 de gener del 2026, a les 13:28:48 UTC
Fowler-Noll-Vo FNV1a-32 Hash Code Calculator
La funció hash de 32 bits FNV-1a forma part de la família de funcions hash Fowler-Noll-Vo (FNV), dissenyada per a un hash ràpid mantenint una bona distribució dels valors hash. S'utilitza habitualment en aplicacions com ara taules hash, sumes de verificació i cerques de dades. Produeix un codi hash de 32 bits (4 bytes), sovint representat com un nombre hexadecimal de 8 dígits.
La variant FNV-1a és una versió millorada respecte a la funció FNV-1 original amb una millor seguretat.
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.
Sobre l'algoritme hash de 32 bits Fowler-Noll-Vo FNV-1a
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ó científicament correcta i amb un toc matemàtic que fa por, segur que la podeu trobar 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, de manera que fins i tot el canvi més petit a la recepta (com afegir un nabiu extra) 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 fa això és un procés de diversos passos:
Pas 1: Comenceu amb una base (base de desplaçament)
Pensa-hi com si aboquessis una base de batut especial a la batedora. Aquesta base sempre és la mateixa, independentment dels ingredients que hi afegeixis. A FNV-1, això s'anomena "base de desplaçament", és a dir, un número inicial elegant.
Pas 2: Afegir els ingredients un per un (processament de dades)
Ara comenceu a afegir els ingredients, un per un: per exemple, una maduixa, després un plàtan i després una mica de mel. Cadascun d'aquests 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 barrejar, però aquí teniu la sorpresa: la batedora ho multiplica tot per un "nombre màgic" secret anomenat nombre FNV prim. Això ajuda a barrejar les coses molt bé.
Pas 4: Afegiu un toc de màgia (operació XOR)
Abans d'afegir el següent ingredient, hi escampes una mica de pols màgica (aquesta és l'operació XOR). És com canviar el sabor de maneres inesperades, garantint que fins i tot els petits canvis facin una gran diferència.
Pas 5: Repetiu fins que hàgiu acabat
Continues barrejant i escampant màgia després de cada ingredient nou fins que ho hagis processat tot.
Pas 6: Batut final (valor hash)
Quan hagis acabat, aboques el batut. El gust final (el valor de hash) és únic per a aquesta combinació exacta d'ingredients. Si hi haguessis afegit ni que sigui un nabiu més, tindria un gust completament diferent.
La versió que es presenta aquí és la versió millorada de 32 bits de l'FNV-1a. Si necessiteu la versió original, també tinc una calculadora per a això: Enllaç
Lectures addicionals
Si t'ha agradat aquesta publicació, també et poden agradar aquests suggeriments:
- Calculadora de codi hash Fowler-Noll-Vo FNV1a-64
- Calculadora de codi hash HAVAL-160/3
- Calculadora de codi hash XXH-64
