Generador 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.

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.

0 caracteres
0 bytes
UTF-8
UTF-8
Hex (minúsculas)
Modo de Resultado
Algoritmo HMAC
SHA-256

¿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
MD5128 bitsHeredadoSolo compatibilidad con sistemas antiguos
SHA-1160 bitsHeredadoProtocolos en desuso
SHA-224224 bitsSeguroFirmas SHA-2 compactas
SHA-256256 bitsRecomendadoAPIs, webhooks, JWT (HS256)
SHA-384384 bitsSeguroFirmas SHA-2 de mayor seguridad
SHA-512512 bitsSeguroSistemas de 64 bits de alto rendimiento
SHA3-512512 bitsSeguroFirmado moderno basado en Keccak
RIPEMD-160160 bitsHeredadoSistemas 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