Kuvron
Ver herramientas

Categorías

  • JSON8
  • Encoding8
  • Crypto4
  • Texto10
  • Números7
  • Tiempo4
  • Web & HTTP11
  • Colores5
  • Seguridad2
  • Imágenes3
  • Datos & SQL7
  • Código0
  • DevOps5
  • IA0
  • SEO & Meta0
  • Generadores3

¿Qué estás buscando?

Herramientas

  • Todas →
  • JSON →
  • Crypto →
  • Texto →
  • Encoding →
  • Data →

Próximamente

  • Blog →
  • Learn →
  • AI →
  • Resources →

Legal

  • Privacidad →
  • Términos →

Kuvron

Herramientas que funcionan cuando las necesitas.

© 2026 Kuvron · Hecho para desarrolladores.

ToolsCryptoHMAC Generator

HMAC Generator

Genera firmas HMAC-SHA1, SHA256, SHA384 y SHA512 con clave secreta

Mensaje

Escribe un mensaje y una clave secreta para generar las firmas HMAC

Ejemplos rápidos
¿Qué es HMAC y cuándo usarlo?

HMAC (Hash-based Message Authentication Code) combina una función hash con una clave secreta compartida. A diferencia de un hash simple —que solo garantiza integridad—, HMAC garantiza también la autenticidad: solo quien tiene la clave puede generar o verificar la firma.

WebhooksStripe, GitHub y Shopify firman payloads con HMAC-SHA256 para que tu servidor verifique que el evento es legítimo.
APIs RESTAWS Signature v4, la autenticación de la API de Twilio y muchas más usan HMAC para firmar requests.
Tokens de sesiónHMAC-SHA256 protege cookies y tokens de que usuarios maliciosos los manipulen sin conocer la clave del servidor.
JWT — HS256/512Los algoritmos HS256 y HS512 de JSON Web Tokens son exactamente HMAC-SHA256 y HMAC-SHA512 respectivamente.

Todo el cómputo ocurre en tu navegador usando la Web Crypto API nativa. Ningún dato se envía a servidores.

También podrías necesitar

Hash GeneratorPassword GeneratorJWT Decoder

¿Qué es HMAC Generator?

HMAC (Hash-based Message Authentication Code) es el mecanismo estándar para autenticar mensajes en sistemas distribuidos: combina una función hash con una clave secreta para producir una firma que garantiza tanto la integridad del contenido como la autenticidad del emisor. A diferencia de un hash simple — que cualquiera puede calcular sobre cualquier mensaje — el HMAC solo puede ser generado o verificado por quien posee la clave secreta compartida. Esta propiedad lo hace imprescindible en APIs REST (AWS Signature v4, Twilio), webhooks (Stripe, GitHub, Shopify firman sus payloads con HMAC-SHA256), JWT con algoritmos HS256 y HS512, cookies firmadas, y cualquier protocolo donde dos partes necesiten autenticar mensajes sin una PKI. Esta herramienta calcula simultáneamente los cuatro HMACs más usados (SHA-1, SHA-256, SHA-384, SHA-512) y presenta la salida en formato HEX o Base64 con un clic. Todo el cómputo ocurre en tu navegador usando la Web Crypto API nativa — ningún mensaje ni clave sale de tu dispositivo.

Preguntas frecuentes

¿En qué se diferencia HMAC de un hash simple?

Un hash (SHA-256, MD5) solo garantiza integridad: cualquiera puede calcular el hash de cualquier mensaje. HMAC agrega autenticidad porque incorpora una clave secreta al cálculo: HMAC(K, M) = H((K ⊕ opad) ∥ H((K ⊕ ipad) ∥ M)). Sin la clave, es computacionalmente imposible generar o falsificar un HMAC válido, incluso conociendo el mensaje y el resultado.

¿Qué longitud de clave debo usar para HMAC-SHA256?

La RFC 2104 recomienda una clave de al menos L bytes, donde L es la longitud del bloque del hash (64 bytes para SHA-256 y SHA-1, 128 bytes para SHA-384 y SHA-512). En la práctica, cualquier clave de 32–64 bytes (256–512 bits) generada criptográficamente es más que suficiente. Evita claves cortas, predecibles o derivadas de texto plano sin una función KDF como PBKDF2 o HKDF.

¿Cuándo elegir HEX versus Base64?

HEX es más legible para debugging y logging: cada byte se representa como 2 caracteres hexadecimales (0-9, a-f). Base64 es más compacto (~33% menos caracteres) y se usa en headers HTTP, cookies y tokens JWT. HMAC-SHA256 en HEX tiene 64 caracteres; en Base64 son 44. Elige Base64 si necesitas incluir el HMAC en un header o URL-safe context.

¿Cómo verifico un HMAC recibido?

Calcula el HMAC del mensaje recibido con la misma clave y algoritmo, y compara el resultado byte a byte con el HMAC recibido usando comparación en tiempo constante (para evitar timing attacks). En código: en Node.js usa crypto.timingSafeEqual(); en Python, hmac.compare_digest(); en Go, subtle.ConstantTimeCompare(). Nunca uses == o === directo porque permite inferir información sobre el HMAC correcto midiendo el tiempo de respuesta.

¿Por qué los algoritmos SHA-1 y SHA-384 están disponibles si SHA-1 es inseguro?

SHA-1 como función hash independiente está rota (colisiones encontradas). Sin embargo, HMAC-SHA1 sigue siendo seguro para autenticación de mensajes según el estándar NIST SP 800-107, porque las vulnerabilidades de colisión en SHA-1 no se aplican a su uso en HMAC. Aun así, prefiere HMAC-SHA256 o HMAC-SHA512 para sistemas nuevos. SHA-384 está aquí por compatibilidad con sistemas que lo requieren específicamente (ciertos estándares OpenBanking y PSD2).