Generador HMAC
Firma cualquier mensaje con una clave secreta usando HMAC-SHA256, 384 o 512. No es lo mismo que la verificación de JWT de TokenSmith — esto firma texto plano por su cuenta.
Datos
Firma HMAC
—
¿Qué es un HMAC?
Un HMAC (código de autenticación de mensajes basado en hash) es un código corto que se agrega a un mensaje para probar dos cosas a la vez: que el mensaje no fue alterado y que quien lo generó conoce una clave secreta compartida. Es el mecanismo detrás de la firma de peticiones a APIs, la verificación de webhooks (Stripe, GitHub y similares) y los tokens de sesión seguros — distinto de un hash simple o un JWT, que no necesitan una clave compartida para verificarse.
Cómo usar el Generador HMAC
- Elegí un algoritmo — HMAC-SHA256, SHA384 o SHA512 — en el desplegable Algoritmo.
- Escribí o pegá tu texto en el campo Mensaje.
- Ingresá la clave secreta compartida en Clave secreta.
- Mirá el resultado en Firma HMAC, alternando entre Hex y Base64 con el selector de formato.
- Hacé clic en Copiar.
Cómo funciona la firma HMAC
HMAC (Hash-based Message Authentication Code, RFC 2104) combina una función hash criptográfica con una clave secreta, de modo que solo quien conoce la clave puede producir una firma válida para un mensaje dado:
mensaje: "The quick brown fox jumps over the lazy dog" secreto: "key" HMAC-SHA256 = f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
Un hash simple (SHA-256 solo) únicamente prueba que un mensaje no fue alterado — cualquiera puede recalcularlo. HMAC además prueba autenticidad: quien lo envió debía conocer la clave compartida. También es estructuralmente resistente a ataques de extensión de longitud que afectan usos ingenuos de hashes Merkle–Damgård como SHA-256 solos. Esta herramienta calcula la firma con crypto.subtle.importKey() / crypto.subtle.sign() nativos del navegador (Web Cryptography API) — sin librerías externas, sin llamadas a un servidor.
Preguntas frecuentes
¿Mi clave secreta se envía a algún servidor?
No. La firma se calcula con la API SubtleCrypto nativa del navegador; el mensaje y la clave nunca salen de tu equipo.
¿En qué se diferencia HMAC de un hash simple como SHA-256?
Un hash simple solo prueba que el mensaje no fue alterado, pero cualquiera puede calcularlo. HMAC combina una clave secreta según RFC 2104, así que solo quien conoce la clave puede producir una firma válida — prueba integridad y autenticidad, y resiste ataques de extensión de longitud que afectan a los hashes simples.
¿Qué algoritmos soporta?
HMAC-SHA256, HMAC-SHA384 y HMAC-SHA512, todos calculados con crypto.subtle.sign() de la Web Cryptography API.
¿Es lo mismo que la verificación de JWT de TokenSmith?
No. TokenSmith verifica o genera un JWT completo (header.payload.signature). Esta herramienta firma cualquier texto plano con HMAC por su cuenta — útil para firmas de webhooks, firma de peticiones a una API, o verificar el ejemplo HMAC de un proveedor contra tu propia implementación.