Generador de hash BLAKE2b y BLAKE2s
Escribe un texto o pega bytes en hex, elige BLAKE2b o BLAKE2s y la longitud del resumen, y obtén el hash al instante. Con una clave, BLAKE2 funciona como código de autenticación de mensajes sin necesidad de HMAC. Nada sale de tu navegador.
Funciona en tu navegador: nada de lo que escribes se envía a ningún sitio.
Cómo se usa
- Escribe o pega la entrada. Elige «Bytes en hex» para resumir bytes en bruto como
616263.
- Elige BLAKE2b o BLAKE2s y la longitud en bytes: 64 y 32 son los tamaños completos; 32 bytes de BLAKE2b es el habitual «BLAKE2b-256».
- Si quieres, escribe una clave para obtener un hash con clave (MAC).
- Copia el resultado en hex o Base64.
Cómo funciona
BLAKE2 (RFC 7693) divide la entrada en bloques —128 bytes en BLAKE2b, 64 en BLAKE2s— y mezcla cada uno en un estado de 8 palabras con 12 o 10 rondas de la función G. El estado parte de unas constantes fijas combinadas por XOR con un bloque de parámetros: longitud del resumen, longitud de la clave, fanout y depth. El último bloque lleva una marca y el resumen son los primeros n bytes del estado final en orden little-endian.
Ejemplo
La cadena de prueba del RFC 7693 abc da:
- BLAKE2b, 64 bytes:
ba80a53f981c4d0d6a2797b69f12f6e94c212f14685ac4b74b12bb6fdbffa2d17d87c5392aab792dc252d5de4533cc9518d38aa8dbf1925ab92386edd4009923
- BLAKE2s, 32 bytes:
508c5e8c327c14e2e1a72ba34eeb452f37458b209ed63a294d999b4c86675982
- BLAKE2b, 32 bytes:
bddd813c634239723171ef3fee98579b94964e3bb1cb3e427262c8c068d52319
La línea sobre el resultado dice «Bytes de entrada: 3; bytes del resumen: 64 (512 bits)».
Consejos
hashlib.blake2b(data, digest_size=32, key=k) de Python y el comando b2sum usan la misma definición, útil para comprobar.
b2sum muestra BLAKE2b-512 por defecto; b2sum -l 256 da la versión de 32 bytes.
- Mantén las claves en secreto y que sean aleatorias: un hash con clave es tan fuerte como su clave.
Preguntas frecuentes
¿Qué diferencia hay entre BLAKE2b y BLAKE2s?
BLAKE2b trabaja con palabras de 64 bits y da resúmenes de hasta 64 bytes; es el más rápido en procesadores de 64 bits. BLAKE2s trabaja con palabras de 32 bits, da hasta 32 bytes y conviene en dispositivos de 32 bits o pequeños. Ambos están definidos en el RFC 7693.
¿BLAKE2b-256 es BLAKE2b-512 recortado?
No. La longitud del resumen forma parte de los parámetros con los que empieza el cálculo, así que BLAKE2b con 32 bytes da un valor totalmente distinto de los primeros 32 bytes de BLAKE2b-512.
¿Cómo funciona BLAKE2 con clave?
La clave, rellenada con ceros hasta un bloque completo, se procesa antes del mensaje y su longitud entra en los parámetros. El resultado es un MAC: solo quien tiene la clave puede generarlo o comprobarlo. BLAKE2 no necesita la construcción HMAC para ello.
¿Es seguro BLAKE2?
BLAKE2 es una función hash criptográfica moderna que usan, por ejemplo, Argon2 y WireGuard. Para guardar contraseñas, sin embargo, usa una función lenta como Argon2, bcrypt o PBKDF2, no un hash rápido sin más.
¿Por qué mi hash no coincide con el de otra herramienta?
Revisa la variante, la longitud del resumen, la clave y la entrada: un salto de línea final o una codificación distinta lo cambian todo. Esta herramienta convierte el texto en bytes UTF-8.