CoderTools

Generador HMAC

Genere códigos de autenticación HMAC seguros con múltiples algoritmos hash

La clave secreta utilizada para la generación de HMAC. ¡Manténgala confidencial!

* SHA-1 se considera inseguro. ** MD5 está criptográficamente roto y solo debe usarse para compatibilidad con sistemas antiguos. Use SHA-256 o SHA-512 para nuevas aplicaciones.

Acerca de HMAC

HMAC (Código de autenticación de mensajes basado en hash) es un mecanismo para la autenticación de mensajes usando funciones hash criptográficas. HMAC puede usarse con cualquier función hash criptográfica iterativa, como MD5, SHA-1, SHA-256, SHA3 y RIPEMD-160, en combinación con una clave secreta compartida.

La fortaleza criptográfica de HMAC depende de las propiedades de la función hash subyacente. HMAC se utiliza para la integridad de datos y autenticación en muchos protocolos y aplicaciones de seguridad, incluyendo TLS, IPsec, SSH y varios esquemas de autenticación API.

Algoritmos HMAC soportados

Esta herramienta soporta 10 algoritmos hash para HMAC: SHA-256 (recomendado), SHA-512, SHA-384, SHA-224, SHA3-256, SHA3-384, SHA3-512 para aplicaciones seguras modernas; RIPEMD-160 para aplicaciones de Bitcoin y criptomonedas; SHA-1 (heredado, no recomendado para seguridad); y MD5 (solo heredado, criptográficamente roto). HMAC se calcula usando la fórmula: HMAC(K, m) = H((K' ⊕ opad) || H((K' ⊕ ipad) || m)).

Casos de uso comunes

Autenticación de solicitudes API y verificación de firmas
Firma JWT (JSON Web Token) con HS256/HS384/HS512
Verificación de carga útil de Webhook
Derivación de clave basada en contraseña (PBKDF2)
Verificación de integridad de mensajes en comunicaciones seguras

Consideraciones de seguridad

La seguridad de HMAC depende del secreto de la clave y la fortaleza criptográfica de la función hash subyacente. Recomendado: Use SHA-256, SHA-512 o variantes SHA3 para nuevas aplicaciones. Evitar: MD5 (roto) y SHA-1 (débil) para aplicaciones críticas de seguridad. RIPEMD-160: Todavía se usa en Bitcoin pero considere algoritmos más nuevos para nuevos proyectos. La clave debe ser al menos tan larga como el tamaño de salida del hash y generada usando un generador de números aleatorios criptográficamente seguro.

Ejemplo

Mensaje: "Hello, World!"

Clave secreta: "secret-key-2025"

Algoritmo: HMAC-SHA256

Salida:

e4d7f1b4c4e5a8d3e...