Generador de HMAC

Genera un HMAC (código de autenticación de mensajes basado en hash) a partir de un mensaje y una clave secreta usando SHA-256, SHA-1, SHA-384 o SHA-512. Obtén el HMAC en hex en minúsculas y Base64, totalmente del lado del cliente en tu navegador.

100% privado. El HMAC se calcula en tu navegador con la Web Crypto API nativa. Tu mensaje y tu clave secreta nunca salen de tu dispositivo.


  

  

El Generador de HMAC crea un código de autenticación de mensajes basado en hash, con clave, a partir de cualquier mensaje y clave secreta, directamente en tu navegador. Elige SHA-256, SHA-1, SHA-384 o SHA-512, pega tu mensaje y tu clave, y recibe el HMAC en hexadecimal en minúsculas y en Base64. Todo se ejecuta del lado del cliente con la Web Crypto API nativa, así que tu mensaje y tu clave secreta nunca se suben.

¿Qué es un HMAC?

Un HMAC, o código de autenticación de mensajes basado en hash, combina una función de hash criptográfica con una clave secreta para producir un código de tamaño fijo que comprueba tanto la integridad como la autenticidad de un mensaje. A diferencia de un hash simple como SHA-256, que cualquier persona puede recalcular solo con el mensaje, un HMAC no se puede reproducir sin la clave secreta. Eso lo hace ideal para verificar que un mensaje no fue alterado y que provino de alguien que posee la clave compartida. El HMAC está definido en la RFC 2104 y se usa ampliamente para firmar solicitudes de API, webhooks, JWT y tokens de sesión.

Cómo generar un HMAC

Ingresa el mensaje y la clave secreta, elige un algoritmo de hash y genera el código. Obtienes el HMAC en hexadecimal y en Base64.

  1. Escribe o pega el mensaje que deseas autenticar.
  2. Ingresa la clave secreta compartida que ambos lados van a usar.
  3. Elige el algoritmo de hash (SHA-256 es el valor predeterminado más común).
  4. Haz clic en Generar HMAC para calcular el código.
  5. Copia la salida en hex o Base64 para usarla en tu firma o comparación.

HMAC frente a un hash simple

Un hash simple como SHA-256 o MD5 no tiene clave: asigna un mensaje a un digest, pero cualquier persona con el mensaje puede producir el mismo digest, así que solo protege contra la corrupción accidental. Un HMAC incorpora una clave secreta, así que solo las partes que conocen la clave pueden calcular o verificar el código. Es esto lo que permite a un servidor confirmar que un webhook o una solicitud de API realmente provino de un cliente confiable y no fue modificado en tránsito. Si solo necesitas una huella digital de algún contenido, un hash simple basta; si necesitas autenticidad respaldada por un secreto compartido, usa un HMAC.

¿Por qué usar este generador de HMAC?

  • Totalmente del lado del cliente: calculado con la Web Crypto API nativa del navegador, nada se sube.
  • Admite SHA-256, SHA-1, SHA-384 y SHA-512.
  • Genera la salida en hexadecimal en minúsculas y en Base64.
  • Determinista: el mismo mensaje, clave y algoritmo siempre producen el mismo HMAC.
  • Copia con un clic de cualquiera de los formatos de salida.
  • Sin instalación, registro ni biblioteca externa.

Preguntas frecuentes

¿Mi mensaje o clave secreta se envía a un servidor?

No. El HMAC se calcula enteramente en tu navegador usando la Web Crypto API nativa. Tu mensaje, tu clave secreta y el código resultante nunca se transmiten, almacenan ni registran. Puedes confirmarlo observando las herramientas de red del navegador mientras generas un HMAC.

¿Cuál es la diferencia entre HMAC y SHA-256?

SHA-256 es una función de hash simple que transforma un mensaje en un digest sin clave involucrada, así que cualquier persona con el mensaje puede reproducirlo. HMAC-SHA256 usa SHA-256 como hash subyacente, pero incorpora una clave secreta, así que solo quien conoce la clave puede calcular o verificar el resultado. Usa un hash simple para huella digital y un HMAC cuando necesites comprobar autenticidad con un secreto compartido.

¿Qué algoritmo de hash debo elegir?

HMAC-SHA256 es el más común y un valor predeterminado sólido para sistemas nuevos. SHA-384 y SHA-512 producen códigos más largos y pueden usarse cuando se exige una salida mayor. SHA-1 se ofrece para compatibilidad con sistemas antiguos, pero se considera débil y no debe usarse en nuevos diseños. Elige el algoritmo que coincida con aquello con lo que te estás integrando.

¿Por qué la salida viene en hex y Base64?

Distintos sistemas esperan los HMAC en distintas codificaciones. Muchas API envían la firma como hexadecimal en minúsculas, mientras que otras, incluidos algunos proveedores de webhook, usan Base64. Los mismos bytes subyacentes se muestran en ambos formatos para que copies aquel que tu integración necesita.

¿Las mismas entradas siempre generan el mismo HMAC?

Sí. El HMAC es totalmente determinista. Para un mismo mensaje, clave secreta y algoritmo de hash, siempre obtienes exactamente la misma salida. Es esto lo que permite a quien recibe recalcular el HMAC y compararlo con el que enviaste para confirmar que el mensaje es auténtico y no fue alterado.