¿Qué son funciones hash y HMAC?
Una función hash criptográfica recibe una entrada arbitraria y produce un digest de tamaño fijo, una especie de impresión digital que es prácticamente imposible de revertir. SHA-256, por ejemplo, siempre genera un valor de 256 bits (64 caracteres hexadecimás), independientemente del tamaño de la entrada. HMAC (Hash-based Message Authentication Code) combina una función hash con una clave secreta para producir un digest autenticado, comprobando la integridad y la autenticidad de los datos. HMACs se utilizan ampliamente en autenticación de API, firma de JWTs, verificación de webhooks y intercambio seguro de mensajes. Web Crypto API proporciona soporte nativo a SHA-1, SHA-256, SHA-384 y SHA-512 para operaciones de hash simple y HMAC.
Cómo usar este generador gratuito de hash y HMAC
- 1Seleccione Hash o HMAC según su necesidad.
- 2Elija el algoritmo de hash: SHA-1, SHA-256, SHA-384 o SHA-512.
- 3Escriba o cole en el campo de entrada el texto para el que desea generar el hash.
- 4Para HMAC, informe la clave secreta en el campo adicional de clave.
- 5El resultado aparece instantáneamente — ative letras mayúsculas, si es necesario, y haga clic en Copiar.
Casos de uso comunes de hash y HMAC
Verificación de la integridad de archivos
Compara checksums SHA-256 para comprobar si un archivo descargado ha sido manipulado o dañado durante la transferencia.
Verificación de firmas de webhooks API
Servicios como GitHub, Stripe y Slack firman payloads de webhook con HMACSHA256 para que pueda verificar la autenticidad del remitente.
Verificación previa de hash de contraseña
Calcule rápidamente el hash SHA de una cadena para entender el formato de salida antes de implementar el almacenamiento de contraseñas en el servidor; para contraseñas reales, siempre use bcrypt o scrypt.
Validación de firmas digitales y tokens
Tokens JWT y flujos OAuth usan HMACSHA256 para firmar payloads y garantizar que el token no haya sido modificado.
Preguntas frecuentes
Generar un hash SHA-256 es el mismo que cifrar?
No. Hash es una función de mano única: no se puede recuperar la entrada original desde el hash. La criptografía es reversible y requiere una clave para descriptografar. El hash se usa en verificaciones de integridad, no para proteger datos confidenciales en tránsito.
¿Por qué no se incluye MD5?
El MD5 está criptográficamente comprometido y es vulnerable a ataques de colisión. La Web Crypto API no ofrece soporte a MD5 por decisión de proyecto. Para cualquier caso de uso relacionado con la seguridad, se recomienda SHA-256 o superior.
¿Cuál es la diferencia entre Hash y HMAC?
Un hash simple recibe sólo el mensaje como entrada, mientras que el HMAC también requiere una clave secreta. El HMACprueba tanto que los datos no fueron alterados como que fueron creados por alguien que conoce la clave secreta.
¿Mis datos se envían a un servidor?
No. Todos los cálculos de hash y HMAC ocurren localmente en el navegador por medio de Web Crypto API. Ningún dato sale de su dispositivo.