Miklix

Calculadora de códigos Hash Fowler-Noll-Vo FNV1a-32

Publicado: 18 de febrero de 2025, 0:08:57 UTC

Calculadora de código hash que utiliza la función hash de 32 bits Fowler-Noll-Vo 1a (FNV1a-32) para calcular un código hash basado en la entrada de texto o la carga de archivos.

Esta página ha sido traducida automáticamente del inglés para hacerla accesible al mayor número de personas posible. Lamentablemente, la traducción automática no es todavía una tecnología perfeccionada, por lo que pueden producirse errores. Si lo prefiere, puede consultar la versión original en inglés aquí:

Fowler-Noll-Vo FNV1a-32 Hash Code Calculator

La función hash FNV-1a de 32 bits forma parte de la familia de funciones hash Fowler-Noll-Vo (FNV), diseñadas para realizar hash rápidos manteniendo una buena distribución de los valores hash. Se utiliza habitualmente en aplicaciones como tablas hash, sumas de comprobación y búsquedas de datos. Produce un código hash de 32 bits (4 bytes), a menudo representado como un número hexadecimal de 8 dígitos.

La variante FNV-1a es una versión mejorada de la función FNV-1 original con mayor seguridad.

Divulgación completa: Yo no escribí la implementación específica de la función hash utilizada en esta página. Es una función estándar incluida en el lenguaje de programación PHP. Sólo hice la interfaz web para ponerla a disposición del público aquí por conveniencia.


Calcular nuevo código Hash

Los datos enviados o los archivos cargados a través de este formulario sólo se conservarán en el servidor durante el tiempo necesario para generar el código hash solicitado. Se eliminarán inmediatamente antes de que el resultado se devuelva a su navegador.

Datos de entrada:



El texto enviado está codificado en UTF-8. Dado que las funciones hash operan sobre datos binarios, el resultado será diferente que si el texto estuviera en otra codificación. Si necesitas calcular un hash de un texto en una codificación específica, debes subir un archivo en su lugar.



Acerca del Algoritmo Hash de 32 bits Fowler-Noll-Vo FNV-1a

No soy matemático, pero intentaré explicar esta función hash utilizando una analogía que mis colegas no matemáticos puedan entender. Si prefieres una explicación matemática científicamente correcta, estoy seguro de que puedes encontrarla en otra parte ;-)

En primer lugar, veamos el algoritmo FNV-1 como una receta para preparar un batido especial. Cada ingrediente que añades (como frutas, leche o miel) representa un dato, como letras, números o incluso un archivo entero.

Ahora, el objetivo es mezclar estos ingredientes de una manera muy específica para que incluso el más mínimo cambio en la receta (como añadir un arándano extra) haga que el batido tenga un sabor completamente diferente. Así es como funcionan las funciones hash: crean un "sabor" único (o valor hash) para cada conjunto único de ingredientes (o datos de entrada).

El algoritmo FNV-1 realiza este proceso en varios pasos:

Paso 1: Empezar con una base (Offset Basis)

Piense en esto como si vertiera una base especial para batidos en su batidora. Esta base es siempre la misma, independientemente de los ingredientes que añada. En FNV-1, esto se llama la "base de compensación" - sólo un número de partida de fantasía.

Paso 2: Añada los ingredientes uno a uno (Procesamiento de datos)

Ahora empiece a añadir sus ingredientes, de uno en uno - digamos una fresa, luego un plátano, luego un poco de miel. Cada uno de ellos representa un byte de datos.

Paso 3: Mezclar con un multiplicador secreto (El FNV Prime)

Después de añadir cada ingrediente, pulsa el botón de licuar, pero aquí está el truco: la licuadora multiplica todo por un "número mágico" secreto llamado FNV Prime. Esto ayuda a mezclar todo muy bien.

Paso 4: Añade una pizca de magia (operación XOR)

Antes de añadir el siguiente ingrediente, se espolvorea un poco de polvo mágico (es la operación XOR). Es como darle la vuelta al sabor de formas inesperadas, asegurando que incluso los pequeños cambios marquen una gran diferencia.

Paso 5: Repetir hasta terminar

Sigue mezclando y espolvoreando magia después de cada nuevo ingrediente hasta que hayas procesado todo.

Paso 6: Batido final (Valor Hash)

Cuando haya terminado, vierta el batido. El sabor final (el valor hash) es exclusivo de esa combinación exacta de ingredientes. Si hubiera añadido un arándano más, el sabor sería completamente diferente.

La versión presentada aquí es la versión FNV-1a 32 bits mejorada. Si necesitas la versión original, también tengo una calculadora para ello: Calculadora de código hash FNV1-32 de Fowler-Noll-Vo

Compartir en BlueskyCompartir en FacebookCompartir en LinkedInCompartir en TumblrCompartir en XCompartir en LinkedInPin en Pinterest

Mikkel Bang Christensen

Sobre el autor

Mikkel Bang Christensen
Mikkel es el creador y propietario de miklix.com. Tiene más de 20 años de experiencia como programador informático profesional y desarrollador de software, y actualmente trabaja a tiempo completo para una gran empresa europea de TI. Cuando no está escribiendo en su blog, dedica su tiempo libre a una gran variedad de intereses, aficiones y actividades, que en cierta medida pueden verse reflejados en la variedad de temas tratados en este sitio web.