Miklix

Calculadora de código hash JOAAT

Publicado: 18 de febrero de 2025, 0:19:30 UTC

Calculadora de código hash que utiliza la función hash Jenkins One At A Time (JOAAT) 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í:

JOAAT Hash Code Calculator

La función hash JOAAT (Jenkins One At A Time) es una función hash no criptográfica diseñada por Bob Jenkins, un conocido científico informático en el campo de los algoritmos hash. Se utiliza ampliamente debido a su simplicidad, velocidad y buenas propiedades de distribución, lo que la hace eficaz para búsquedas en tablas hash, sumas de comprobación e indexación de datos. Genera un código hash de 32 bits (4 bytes), que normalmente se representa 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 JOAAT

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 matemática completa y científicamente correcta, estoy seguro de que la puedes encontrar en otro lugar ;-)

Piense en JOAAT como si estuviera preparando una sopa especial. Tiene una lista de ingredientes (estos son sus datos de entrada, como una palabra o un archivo) y desea mezclarlos de tal manera que incluso si cambia solo un detalle minúsculo, como agregar una pizca de sal adicional, el sabor de la sopa cambie por completo. Este "sabor" es su valor hash, un número único que representa su entrada.

La función JOAAT hace esto en cuatro pasos:

Paso 1: Comenzando con un bote vacío (Inicialización)

Se empieza con una olla de sopa vacía. En JOAAT, esta "olla" empieza con el número 0.

Paso 2: Agregar los ingredientes uno a la vez (procesar cada byte)

Ahora, agrega los ingredientes uno por uno. Imagina que cada letra o número de tus datos es como agregar una especia diferente a la olla.

  • Añade la especia (añade el valor de la letra a tu olla).
  • Revuelva vigorosamente (mezcle duplicando el sabor con un movimiento especial; esto es como un "cambio" matemático).
  • Agregue un giro sorpresa (agregue una pizca de aleatoriedad: esta es la operación XOR, que ayuda a mezclar la mezcla).

Paso 3: Especias secretas finales (mezcla final)

Después de haber agregado todos los ingredientes, revuelve y mezcla las especias en secreto unas cuantas veces más para asegurarse de que el sabor sea impredecible. Aquí es donde JOAAT realiza algunos pasos finales de mezcla y revolteado para garantizar que el resultado sea único.

Paso 4: Prueba de sabor (resultado)

Finalmente, pruebas la sopa o, en el caso de JOAAT, obtienes un número (el valor hash) que representa el sabor único de tu sopa. Incluso el cambio más pequeño en los ingredientes (como cambiar una letra en tu entrada) te dará un sabor completamente diferente (un número totalmente diferente).

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.