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 (Keyed-Hash Message Authentication Code) es un mecanismo específico para la autenticación de mensajes que utiliza funciones hash criptográficas y una clave secreta. Según RFC 2104, se utiliza para verificar tanto la integridad de los datos como la autenticidad de un mensaje.

A diferencia de una función hash estándar (como SHA-256) que solo garantiza la integridad, HMAC utiliza una clave secreta para garantizar la autenticidad (detectar manipulaciones). Se usa ampliamente en autenticación de API, JWT y transferencias seguras.

Algoritmos HMAC soportados

Esta herramienta soporta algoritmos HMAC completos incluyendo SHA-256, SHA-512, SHA-384, SHA-224 y variantes modernas SHA-3. Soporte legado para MD5 y SHA-1. La fórmula es: 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 depende de la clave secreta. Fortaleza de la Clave: Debe ser aleatoria y al menos tan larga como la salida del hash (ej: 32 bytes para SHA-256). Elección de Algoritmo: Use SHA-256 o SHA-512 para nuevas aplicaciones. Evite MD5 y SHA-1.

Ejemplo

Mensaje: "Hello, World!"

Clave secreta: "secret-key-2025"

Algoritmo: HMAC-SHA256

Salida:

e4d7f1b4c4e5a8d3e...

Preguntas Frecuentes (FAQ)

¿Cuál es la diferencia entre Hash y HMAC?

Un Hash (como SHA-256) es una función unidireccional que cualquiera puede calcular. HMAC utiliza una función Hash *más* una clave secreta. Solo quien tiene la clave puede generar o verificar el HMAC correcto.

¿Por qué no usar simplemente Hash(Clave + Mensaje)?

La concatenación simple es vulnerable a 'ataques de extensión de longitud' (Length Extension Attacks) en ciertos hashes como MD5/SHA-1. La estructura anidada de HMAC previene esto.

¿HMAC es reversible (se puede descifrar)?

No. HMAC es una función hash, no cifrado. Es unidireccional. No se puede obtener el mensaje original ni la clave a partir de la salida.

¿Qué longitud debe tener mi clave secreta?

RFC 2104 recomienda una longitud al menos igual a la salida del hash (ej: 32 bytes para SHA-256).

¿Puedo usarlo para guardar contraseñas?

Para contraseñas, use funciones de derivación de claves (KDF) especializadas como PBKDF2, bcrypt o Argon2, no solo HMAC.

¿Es segura mi clave con esta herramienta?

Sí. Esta herramienta se ejecuta completamente en el lado del cliente. El cálculo se realiza en su navegador mediante JavaScript. Su clave nunca se envía a un servidor.

Menú Rápido

Sin herramientas recientes