Todo se ejecuta en tu navegador: la entrada, la clave HMAC y el hash esperado nunca salen de este dispositivo.
Qué añade HMAC a un hash simple
Un HMAC (código de autenticación de mensajes con clave) mezcla una clave secreta en el proceso de hashing. Mientras que el SHA-256 de un mensaje solo demuestra que los bytes no cambiaron, un HMAC demuestra además que quien lo produjo conocía la clave compartida: así un servidor puede confiar en que un webhook entrante viene realmente del remitente esperado. Con la clave key y el mensaje The quick brown fox jumps over the lazy dog, HMAC-SHA256 devuelve f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8.
Un hash simple no basta para autenticar: cualquiera puede recalcular SHA-256, así que un atacante podría falsificar un digest. HMAC está diseñado para resistirlo, incluidos los ataques de extensión de longitud que rompen esquemas ingenuos como hash(secreto + mensaje). Usa HMAC-SHA256 para firmar peticiones de API, verificar webhooks (Stripe, GitHub, Slack) y derivar tokens por mensaje. La clave debe permanecer secreta, larga y aleatoria.
Cómo calcular un HMAC
- Elige el algoritmo HMAC: SHA-1, SHA-256 o SHA-512.
- Introduce la clave secreta en el campo de clave enmascarado.
- Escribe o pega el mensaje que quieres autenticar.
- Compara la firma con la que recibe tu servidor.
Preguntas frecuentes sobre HMAC
¿Por qué HMAC necesita una clave?
La clave convierte una huella pública en una prueba de autenticación: solo las partes que comparten el secreto pueden producir un MAC coincidente.
¿HMAC-SHA1 o HMAC-SHA256?
HMAC-SHA256 es el estándar moderno para webhooks y firma de peticiones. HMAC-SHA1 aún aparece en protocolos antiguos y es aceptable cuando se exige por compatibilidad.
¿Es HMAC cifrado?
No. No oculta el mensaje, solo demuestra integridad y autenticidad. Cifra por separado si necesitas confidencialidad.
Todo se ejecuta en tu navegador: la entrada, la clave HMAC y el hash esperado nunca salen de este dispositivo.
