Calculadora de codi hash Fowler-Noll-Vo FNV1-64
Publicat: 5 de març del 2025, a les 19:24:57 UTC
Calculadora de codi hash que utilitza la funció hash de Fowler-Noll-Vo 1 de 64 bits (FNV1-64) per calcular un codi hash basat en l'entrada de text o la càrrega de fitxers.Fowler-Noll-Vo FNV1-64 Hash Code Calculator
La funció hash FNV-1 de 64 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 64 bits (8 bytes), sovint representat com un nombre hexadecimal de 16 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.
Sobre l'algoritme Hash Fowler-Noll-Vo FNV-1 de 64 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 prefereixes una explicació matemàtica científicament correcta i espantosa, segur que la trobaràs 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 en què 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, posem per cas 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 64 bits. També hi ha una versió millorada de FNV-1a de 64 bits disponible: Calculadora de codi hash Fowler-Noll-Vo FNV1a-64