Hash y Seguridad

Generador de Hash JOAAT

Convierte cualquier texto en su hash Jenkins one-at-a-time de 8 caracteres.

Valora esta herramienta

Cómo usar Generador de Hash JOAAT

  1. Escribe o pega tu texto en el cuadro.
  2. El hash JOAAT aparece mientras escribes.
  3. Haz clic en Copiar para obtener el resultado.

Acerca de Generador de Hash JOAAT

JOAAT significa Jenkins one-at-a-time, un pequeño hash no criptográfico diseñado por Bob Jenkins y uno de los hashes clásicos para tablas hash. El nombre describe su funcionamiento: consume la entrada un byte a la vez, mezclando cada uno en un valor acumulado de 32 bits mediante sumas y desplazamientos de bits, y termina con un breve paso de avalancha que revuelve los bits acumulados de modo que incluso un cambio de un solo carácter se propaga por todo el resultado. La salida es de 32 bits: 8 caracteres hexadecimales.

Su atractivo es que es realmente diminuto y no necesita tablas de consulta ni configuración, y aun así distribuye las claves mucho más uniformemente que los ingenuos hashes de «sumar los caracteres» a los que sustituyó. Esa combinación lo convirtió durante años en una elección habitual para tablas hash en C, y todavía aparece en motores de videojuegos, código embebido y en cualquier lugar donde una cadena deba convertirse en una clave entera rápida. Alternativas modernas como MurmurHash3 y xxHash procesan varios bytes por paso y son mucho más rápidas con entradas grandes, pero JOAAT sigue siendo una opción perfectamente razonable para claves cortas y es mucho más fácil de implementar de memoria.

No es seguro y nunca pretendió serlo. JOAAT no ofrece ninguna resistencia frente a un ataque deliberado: dado un valor objetivo, encontrar una entrada que lo produzca es sencillo. Nunca lo uses para contraseñas, firmas o para comprobar que un archivo no ha sido manipulado. Responde bien a una sola pregunta: «¿en qué bucket va esta cadena?».

Preguntas frecuentes

¿Qué significa JOAAT?

Jenkins one-at-a-time: el hash de Bob Jenkins que mezcla la entrada un byte a la vez, a diferencia de sus otros diseños que procesan varios bytes por ronda.

¿Por qué el hash siempre tiene 8 caracteres?

JOAAT produce un valor de 32 bits, y cada carácter hexadecimal representa 4 bits, así que el resultado siempre tiene exactamente 8 caracteres sin importar la longitud de la entrada.

¿Puedo usar JOAAT para contraseñas o verificación de archivos frente a manipulaciones?

No. JOAAT es un hash no criptográfico para tablas hash, sin resistencia frente a falsificaciones deliberadas. Usa bcrypt para contraseñas y SHA-256 donde la integridad realmente importe.

¿Cómo se compara JOAAT con MurmurHash o xxHash?

Esos son considerablemente más rápidos con entradas largas y distribuyen ligeramente mejor, pero JOAAT es mucho más simple y no necesita tablas, razón por la cual sobrevive en código embebido y heredado.

¿Se envía mi texto a algún sitio?

Tu texto se envía a nuestro servidor para calcular el hash, porque los navegadores no pueden calcular JOAAT. Se hashea y se descarta de inmediato: nunca se registra ni se almacena.