Advertisement728 × 90 — Leaderboard
Advertisement320 × 50 — Mobile banner

Calcular HMAC

Genera firmas HMAC con SHA-1, SHA-256 o SHA-512
También necesitas:Generador Hash SHA-256Generador Hash SHA-512Generador Hash MD5
Algoritmo:Salida:Clave secreta:
Message
Ctrl
Advertisement300 × 250
Advertisement728 × 90 — Leaderboard
Advertisement320 × 50 — Mobile banner

Acerca de Calcular HMAC

Genera firmas HMAC (Código de Autenticación de Mensajes basado en Hash) para cualquier mensaje y clave secreta. Compatible con HMAC-SHA-256, HMAC-SHA-512 y HMAC-SHA-1 a través de la Web Crypto API. Todo el cómputo se realiza en tu navegador.

Preguntas frecuentes

¿Qué es HMAC?
HMAC (Código de Autenticación de Mensajes Basado en Hash) es un mecanismo para verificar tanto la integridad como la autenticidad de un mensaje. Combina una clave secreta con una función de hash criptográfico (normalmente SHA-256 o SHA-512) para producir un resumen que solo puede reproducir alguien que conozca la clave.
¿Cuál es la diferencia entre HMAC y un hash SHA simple?
Un hash simple toma solo datos como entrada: cualquiera que conozca el algoritmo puede reproducirlo. HMAC toma datos y una clave secreta, por lo que solo las partes que comparten la clave pueden generar o verificar el MAC. Un hash simple prueba que los datos no se corrompieron (integridad accidental); HMAC prueba que los datos no fueron manipulados por un atacante (integridad autenticada).
¿Cómo verifico una firma HMAC recibida de una API?
Recalcula el HMAC usando tu secreto compartido y el cuerpo de la solicitud o la carga útil. Compara tu HMAC calculado con el que está en la cabecera de la solicitud (por ejemplo, X-Hub-Signature-256). Usa una comparación en tiempo constante (crypto.timingSafeEqual en Node.js, hmac.compare_digest en Python) para prevenir ataques de temporización. Si coinciden, la carga útil es auténtica.
¿Qué algoritmo HMAC debo usar: HMAC-SHA256 o HMAC-SHA512?
HMAC-SHA256 es la elección estándar y es el que usan AWS Signature Version 4, los webhooks de GitHub, los webhooks de Stripe y la mayoría de las API modernas. HMAC-SHA512 proporciona más resistencia a los ataques de fuerza bruta sobre claves cuando estas son cortas, pero una clave aleatoria de 32 bytes (256 bits) ya es suficiente con HMAC-SHA256. Ambos se consideran seguros para el uso actual.
¿Puede un HMAC usarse como hash de contraseña?
No. HMAC está diseñado para ser rápido y, por tanto, es vulnerable a los ataques de fuerza bruta sobre la clave/contraseña cuando el espacio de claves es pequeño (contraseñas elegidas por humanos). El almacenamiento de contraseñas requiere una función hash lenta diseñada específicamente para ello: bcrypt, Argon2id o scrypt. Estas son intencionadamente lentas para hacer impracticables los ataques de fuerza bruta fuera de línea.
Advertisement300 × 250
Advertisement300 × 250
Ad
AdvertisementSticky banner