Generador de HMAC
Generación de HMAC
Genera y verifica firmas HMAC con 8 algoritmos, opciones de codificación de clave/mensaje y soporte de archivos. 100% del lado del cliente.
¿Qué es un Generador de HMAC?
Un generador de HMAC calcula un Código de Autenticación de Mensajes basado en Hash (HMAC) combinando un mensaje con una clave secreta mediante una función hash criptográfica. A diferencia de un hash simple, el resultado cambia por completo si el mensaje o la clave cambian, por lo que demuestra tanto que los datos están intactos como que provienen de alguien que posee la clave. Esta herramienta ejecuta todo el cálculo de HMAC en tu navegador, así que puedes generar y verificar firmas para APIs, webhooks y tokens sin enviar tu clave secreta a ningún lado.
Cómo Usar Este Generador de HMAC
Generar una firma HMAC toma solo unos segundos:
Cómo se Calculan las Firmas HMAC
HMAC rellena la clave secreta hasta el tamaño de bloque de la función hash y luego la combina con el mensaje en dos pasadas del hash subyacente. La pasada interna aplica XOR a la clave con un valor de relleno interno fijo y la aplica junto con el mensaje; la pasada externa aplica XOR a la clave con un valor de relleno distinto y la combina con el resultado de la pasada interna.
Esta construcción anidada es lo que protege a HMAC frente a los ataques de extensión de longitud que afectan a hashes simples como SHA-256 usados solos. Está definida formalmente en el RFC 2104 y se usa en todas partes, desde negociaciones TLS hasta solicitudes de API firmadas.
HMAC frente a un Hash Simple
Un hash simple como MD5 o SHA-256 convierte cualquier entrada en una huella de tamaño fijo, pero cualquiera puede recalcular esa huella, así que solo demuestra que los datos no se corrompieron. HMAC agrega una clave secreta al cálculo, de modo que solo alguien que conozca la clave puede generar o comprobar un valor coincidente.
Ese paso adicional convierte un hash en un código de autenticación de mensajes: prueba de integridad y prueba de que quien firma posee el secreto compartido. Si solo necesitas detectar archivos corruptos, usa nuestro Generador de Hash; si necesitas autenticar un mensaje entre dos partes, HMAC es la herramienta adecuada.
Todos los Algoritmos HMAC que Soporta Este Generador
Este generador calcula HMAC con ocho funciones hash distintas, igualando o superando lo que ofrecen la mayoría de las herramientas HMAC de la competencia:
Como regla general, usa HMAC-SHA256 a menos que un protocolo específico o un sistema heredado requiera otra cosa.
Algoritmo | Longitud de Salida | Estado de Seguridad | Mejor Uso |
|---|---|---|---|
| MD5 | 128 bits | Heredado | Solo compatibilidad con sistemas antiguos |
| SHA-1 | 160 bits | Heredado | Protocolos en desuso |
| SHA-224 | 224 bits | Seguro | Firmas SHA-2 compactas |
| SHA-256 | 256 bits | Recomendado | APIs, webhooks, JWT (HS256) |
| SHA-384 | 384 bits | Seguro | Firmas SHA-2 de mayor seguridad |
| SHA-512 | 512 bits | Seguro | Sistemas de 64 bits de alto rendimiento |
| SHA3-512 | 512 bits | Seguro | Firmado moderno basado en Keccak |
| RIPEMD-160 | 160 bits | Heredado | Sistemas bancarios / PGP antiguos |
HMAC-SHA256: El Estándar Moderno
HMAC-SHA256 es la opción por defecto para firmar webhooks y solicitudes de API en empresas como Stripe, GitHub y Shopify, y también es el algoritmo detrás de la firma HS256 usada en la mayoría de los JSON Web Tokens.
Ofrece un buen margen de seguridad, amplio soporte en bibliotecas y una salida hexadecimal de 64 caracteres lo bastante corta para caber cómodamente en cabeceras HTTP.
SHA3-512: La Alternativa Basada en Keccak
SHA-3 utiliza un diseño interno completamente distinto (Keccak) al de la familia SHA-2, por lo que una firma HMAC-SHA3 no comparte ninguna debilidad estructural que algún día pudiera encontrarse en SHA-256 o SHA-512.
Elígelo cuando un protocolo requiera específicamente la familia SHA-3 o cuando quieras diversidad de algoritmos junto a una firma SHA-2 existente.
MD5, SHA-1 y RIPEMD-160: Algoritmos Heredados
HMAC-MD5 y HMAC-SHA1 todavía se consideran criptográficamente sólidos como códigos de autenticación de mensajes, a diferencia del MD5 o SHA-1 simples, porque la clave secreta mitiga los ataques de colisión conocidos sobre el hash subyacente.
Aun así, la mayoría de las recomendaciones actuales aconsejan pasar a SHA-256 o superior en sistemas nuevos; estas variantes se incluyen aquí principalmente para verificar o interoperar con APIs más antiguas.
Calcula Todos los Algoritmos a la Vez
Cambia el modo de resultado a "Todos los algoritmos" para generar las ocho variantes de HMAC para el mismo mensaje y clave con un solo clic, útil cuando no sabes qué algoritmo espera una API antigua.
Cada resultado se puede copiar individualmente, o usa "Copiar todo" para obtener todas las firmas a la vez.
Codificación de Clave y Mensaje: UTF-8, Hex y Base64
La mayoría de las APIs tratan la clave secreta como texto UTF-8 plano, pero algunas emiten claves como cadenas hexadecimales o Base64, y firmar con la codificación equivocada es la causa más común de que un HMAC calculado no coincida con lo que espera un servidor. Este generador te permite indicar exactamente cómo interpretar tanto la clave como el mensaje antes de aplicar el hash.
Si la documentación de tu proveedor dice que la clave está "codificada en base64", selecciona Base64 para la codificación de la clave en lugar de aplicar el hash a la cadena Base64 literal como texto UTF-8: ambas producen firmas completamente distintas.
Elegir un Formato de Salida: Hex frente a Base64
La salida hexadecimal es más larga pero fácil de leer y comparar a simple vista, y es el formato que usan la mayoría de las herramientas de depuración y los ejemplos de documentación. La salida en Base64 es aproximadamente un 25% más corta, lo que importa cuando una firma debe caber en una cabecera HTTP como Authorization o X-Signature.
Usa el formato que espere el sistema receptor; este generador puede producir hex en minúsculas, hex en mayúsculas o Base64 sin volver a calcular nada.
Genera un HMAC para un Archivo
Cambia a la pestaña Archivo para calcular un HMAC sobre los bytes en bruto de un archivo en lugar de texto escrito, útil para firmar descargas, verificar paquetes de software o autenticar archivos subidos antes de que lleguen a un servidor.
El archivo nunca sale de tu dispositivo: se lee y se procesa localmente en tu navegador y luego se descarta.
Verifica y Compara una Firma HMAC
Pega un valor HMAC que hayas recibido en el campo de comparación y esta herramienta lo comprobará contra la firma que acaba de calcular, para que puedas confirmar que un payload de webhook o una respuesta de API es auténtica sin escribir una sola línea de código.
En el modo "Todos los algoritmos", la comparación verifica todas las variantes a la vez, lo cual es útil cuando no estás seguro de qué función hash usó el remitente.
Casos de Uso Comunes de HMAC
HMAC aparece en cualquier lugar donde dos partes necesiten confiar en un mensaje sin exponer el secreto que lo protege:
Firma de Solicitudes de API
Servicios como AWS, Stripe y muchas APIs REST firman cada solicitud con un HMAC para que el servidor pueda confirmar que no fue alterada ni falsificada en tránsito.
Verificación de Webhooks
Los procesadores de pagos y las plataformas SaaS adjuntan una cabecera de firma HMAC a los payloads de webhooks, permitiendo que tu endpoint rechace cualquier cosa que no provenga del servicio real.
JSON Web Tokens (HS256)
El algoritmo HS256 usado en muchos JWT es en realidad HMAC-SHA256, que firma el encabezado y el payload del token con un secreto del lado del servidor.
Transferencia Segura de Archivos y Datos
Los sistemas que intercambian archivos o copias de seguridad suelen adjuntar un HMAC para que el receptor pueda detectar manipulaciones o corrupción antes de confiar en el contenido.
Buenas Prácticas de Seguridad para HMAC
Algunos hábitos mantienen las firmas HMAC confiables:
Usa una Clave Secreta Larga y Aleatoria
Una clave corta o predecible debilita la seguridad de HMAC sin importar el algoritmo; genera claves con una fuente aleatoria criptográficamente segura, idealmente tan larga como la salida del hash.
Prefiere SHA-256 o Superior
Reserva MD5, SHA-1 y RIPEMD-160 para compatibilidad con sistemas existentes, y usa por defecto HMAC-SHA256 o HMAC-SHA512 en integraciones nuevas.
Rota las Claves Periódicamente
Trata los secretos HMAC como contraseñas: rótalos periódicamente y de inmediato si una clave pudo haberse expuesto.
Compara Firmas en Tiempo Constante
Al verificar valores HMAC en un servidor, usa una función de comparación en tiempo constante para evitar filtrar información de tiempo que podría ayudar a un atacante a adivinar la firma correcta.
Seguridad del Lado del Cliente y Herramientas Relacionadas
Todos los cálculos de esta página, incluidos la generación de HMAC, el análisis de claves y el hash de archivos, se ejecutan localmente en tu navegador con JavaScript. Tu mensaje, tu clave secreta y cualquier archivo subido nunca se envían a nuestros servidores ni a terceros.
Preguntas Frecuentes (FAQ)
Preguntas frecuentes