Miklix

Calculadora de código hash FNV1-32 de Fowler-Noll-Vo

Publicado: 18 de febrero de 2025, 0:15:31 UTC

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

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 FNV1-32 Hash Code Calculator

La función hash de 32 bits FNV-1 forma parte de la familia de funciones hash Fowler–Noll–Vo (FNV), diseñada para realizar operaciones hash rápidas 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), que suele representarse como un número hexadecimal de 8 dígitos.

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 FNV-1 de Fowler-Noll-Vo

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

En primer lugar, pensemos en el algoritmo FNV-1 como si fuera una receta para preparar un batido especial. Cada ingrediente que se añade (como frutas, leche o miel) representa un fragmento de datos, 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 cambio más pequeño en la receta (como agregar un arándano adicional) haga que el sabor del batido sea 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).

La forma en que el algoritmo FNV-1 hace esto es un proceso de varios pasos:

Paso 1: Comience con una base (base compensada)

Piense en esto como si estuviera vertiendo una base especial para batido en su licuadora. Esta base siempre es la misma, sin importar los ingredientes que agregue. En FNV-1, esto se llama "base de compensación", solo un número inicial elegante.

Paso 2: Agregue los ingredientes uno por uno (datos de procesamiento)

Ahora empieza a añadir los ingredientes, uno a la vez: digamos una fresa, luego un plátano y luego un poco de miel. Cada uno de ellos representa un byte de datos.

Paso 3: Combina con un multiplicador secreto (FNV Prime)

Después de agregar cada ingrediente, presiona el botón de mezclar, pero aquí está el truco: la licuadora multiplica todo por un "número mágico" secreto llamado FNV prime. Esto ayuda a mezclar muy bien las cosas.

Paso 4: Agrega una pizca de magia (Operación XOR)

Antes de añadir el siguiente ingrediente, se espolvorea un poco de polvo mágico (esta es la operación XOR). Es como cambiar el sabor de maneras inesperadas, lo que garantiza que incluso los cambios más pequeños hagan una gran diferencia.

Paso 5: Repetir hasta terminar

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

Paso 6: Smoothie final (valor hash)

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

La versión que se presenta aquí es la versión original de FNV-1 de 32 bits. También hay disponible una versión mejorada de FNV-1a de 32 bits: Calculadora de códigos Hash Fowler-Noll-Vo FNV1a-32

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.