Generador HMAC para firmar y verificar
Este generador HMAC crea un código de autenticación de mensaje basado en hash (Hash-based Message Authentication Code) a partir de una clave secreta y un mensaje, directamente en tu navegador. Combina cualquier mensaje con tu clave y un algoritmo de hash para producir un código de autenticación que demuestra que los datos están intactos y que provienen de alguien que posee la clave.
Está pensado para desarrolladores que firman y verifican cargas útiles de webhooks, peticiones de API y JWT (HS256). Elige entre 8 algoritmos, ingresa la entrada en String, Hex o Base64, y lee el resultado en Hex y Base64 a la vez, con un modo de verificación integrado para comparar contra una firma esperada.
Cómo generar un HMAC
Elige un algoritmo
Selecciona tu algoritmo de hash en el menú desplegable. SHA-256 es el predeterminado y la opción adecuada para la mayoría de webhooks, APIs y JWT. MD5 y SHA-1 están disponibles para uso heredado, pero llevan una etiqueta de Inseguro.
Ingresa tu clave secreta
Escribe o pega la clave en el campo Clave secreta. Si tu clave es binaria, cambia su tipo de entrada entre String, Hex y Base64 para que los bytes se interpreten correctamente.
Ingresa tu mensaje
Pega el Mensaje que quieres autenticar, por ejemplo el cuerpo en bruto de un webhook. Igual que con la clave, define su tipo de entrada como String, Hex o Base64 para que coincida con los datos.
Lee y copia el HMAC
El código se genera automáticamente mientras escribes, mostrado en Hex y Base64. Activa Mayúsculas para el hexadecimal si lo necesitas y luego haz clic en el botón de copiar junto a cualquiera de las salidas. Para comprobar un valor, activa Verificar HMAC y pega la firma esperada para ver al instante una etiqueta de Coincide o No coincide.
Funciones
8 algoritmos HMAC
Genera códigos con MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3-256 y SHA3-512 para adaptarte a cualquier integración.
Tipos de entrada flexibles
La clave y el mensaje aceptan String (UTF-8), Hex o Base64, algo esencial para las claves binarias que entregan las APIs.
Doble salida Hex y Base64
Mira la forma hexadecimal y Base64 de tu HMAC una al lado de la otra, sin alternar entre formatos.
Conmutador de hex en mayúsculas
Cambia la salida hexadecimal entre minúsculas y mayúsculas para que coincida con el formato que espera tu servicio.
Modo de verificación de HMAC
Pega un valor esperado y ve al instante Coincide o No coincide; acepta Hex o Base64 y normaliza mayúsculas y espacios.
Etiquetas de seguridad
Los algoritmos débiles como MD5 y SHA-1 se marcan con claridad como Inseguro para que los evites en producción.
Generación en tiempo real
El HMAC se actualiza automáticamente mientras escribes o pegas, con un indicador de estado que muestra el algoritmo y la longitud en bits.
Copia con un clic
Copia la salida Hex o Base64 al portapapeles con un solo clic en el botón de copiar de cada formato.
Datos de webhook de ejemplo
Carga una carga útil de webhook y una clave secreta listas con un solo clic para ver exactamente cómo se construye una firma.
Procesamiento del lado del cliente
Todo el cálculo se ejecuta localmente en tu navegador: ninguna clave ni mensaje se envía nunca a un servidor.
Preguntas frecuentes
¿Qué es HMAC?
HMAC (Hash-based Message Authentication Code) combina una clave secreta con una función de hash para producir un código de autenticación. Aporta integridad y autenticación a la vez: demuestra que un mensaje no ha sido alterado y que proviene de alguien que conoce la clave. Se usa para firmas de webhooks, firma de peticiones de API (como AWS Signature V4) y firma de JWT (HS256).
¿Qué algoritmo HMAC debería usar?
SHA-256 es el más usado y el predeterminado correcto para la mayoría de los casos: impulsa los webhooks de Stripe, GitHub y Shopify, además de las firmas de la API de AWS. Usa SHA-512 cuando quieras una salida mayor de 512 bits, o las variantes SHA3 para el estándar más reciente.
¿Qué es la clave secreta en HMAC?
La clave secreta es un valor compartido que solo conocen las partes que intercambian mensajes; en los webhooks es el secreto de firma que te entrega tu proveedor. Hay que usar la misma clave para generar y para verificar una firma; sin ella, el HMAC no se puede falsificar ni validar.
¿Cómo verifico la firma de un webhook?
Ingresa el secreto de firma del webhook como Clave secreta, pega el cuerpo en bruto de la petición como Mensaje y selecciona el algoritmo que usa tu servicio (normalmente SHA-256). Luego activa Verificar HMAC y pega la firma del encabezado del webhook para ver al instante una etiqueta de Coincide o No coincide.
¿Cuál es la diferencia entre la salida Hex y Base64?
Hex muestra cada byte como dos caracteres hexadecimales (0-9, a-f); es más largo pero fácil de leer y depurar. Base64 es alrededor de un 33 % más corto y habitual en encabezados HTTP y JWT. Esta herramienta muestra ambos a la vez, así que puedes copiar el formato que espere tu API.
¿Cuándo debo usar el tipo de entrada Hex o Base64 para las claves?
Selecciona Hex o Base64 cuando tu clave secreta venga como bytes en bruto en esa codificación, por ejemplo una cadena hexadecimal del panel de una API. Esto le indica a la herramienta que decodifique el valor antes de aplicar el hash. La mayoría de las veces, una clave UTF-8 normal significa que debes mantener el tipo de entrada String.
¿Por qué MD5 y SHA-1 aparecen marcados como inseguros?
MD5 y SHA-1 tienen debilidades de colisión conocidas. La construcción HMAC todavía añade protección, por lo que HMAC-MD5 y HMAC-SHA1 siguen siendo seguros en algunos contextos heredados, pero la mejor práctica es elegir SHA-256 o superior para cualquier nueva implementación. Por eso ambos aparecen marcados.
¿Están seguros mis datos?
Sí. Cada HMAC se calcula por completo en tu navegador: no se envía ningún dato a ningún servidor. Tus claves secretas y mensajes permanecen en tu dispositivo en todo momento, y nada se registra ni se almacena.
Aún no hay comentarios. ¡Sé el primero en comentar!