Generador HMAC
Genera firmas hash HMAC usando algoritmos SHA-1, SHA-256, SHA-384 o SHA-512. Autenticación segura de mensajes para desarrollo de API y verificación de integridad de datos.
¿Qué es 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. Verifica tanto la integridad de los datos como la autenticidad de un mensaje, asegurando que el mensaje no ha sido alterado y proviene de un remitente legítimo.
¿Cómo funciona HMAC?
HMAC combina una clave secreta con los datos del mensaje usando una función hash criptográfica (como SHA-256). El proceso implica aplicar hash al mensaje con la clave de una manera específica, produciendo una salida de tamaño fijo que sirve como huella digital y etiqueta de autenticación.
¿Qué algoritmos son compatibles?
Esta herramienta soporta la generación HMAC con los algoritmos SHA-1, SHA-256, SHA-384 y SHA-512. SHA-256 es recomendado para la mayoría de los casos de uso ya que proporciona un excelente equilibrio entre seguridad y rendimiento. SHA-1 está obsoleto para aplicaciones críticas de seguridad.
¿Cuál es la diferencia entre HMAC y hash regular?
Un hash regular (como SHA-256) solo verifica la integridad de los datos - cualquiera puede calcularlo. HMAC agrega una clave secreta al proceso, proporcionando tanto integridad como autenticación. Solo las partes con la clave correcta pueden generar o verificar el HMAC.
¿Es seguro HMAC?
HMAC se considera seguro cuando se usa con funciones hash fuertes (SHA-256 o superior) y claves secretas suficientemente largas. La seguridad depende de la resistencia de la función hash subyacente a ataques de colisión y preimagen, más el secreto y longitud de la clave.
¿Para qué se usa HMAC?
HMAC se usa ampliamente para autenticación de API (como APIs REST), generación de tokens JWT, verificación de integridad de mensajes, protocolos de comunicación seguros (TLS, SSH), almacenamiento de contraseñas y validación de datos.
¿Qué tan larga debe ser mi clave HMAC?
Para SHA-256, use al menos una clave de 256 bits (32 bytes). Para SHA-512, use al menos claves de 512 bits (64 bytes). Las claves más largas proporcionan mejor seguridad. La clave debe generarse aleatoriamente y mantenerse en secreto.
¿Cuál es la diferencia entre HMAC y cifrado?
HMAC proporciona autenticación de mensajes e integridad pero no cifra los datos - el mensaje permanece legible. El cifrado hace que los datos sean ilegibles para partes no autorizadas. Sirven para propósitos diferentes: HMAC verifica autenticidad, el cifrado proporciona confidencialidad.
¿Es HMAC lo mismo que una firma digital?
No. HMAC usa criptografía simétrica donde ambas partes comparten la misma clave secreta. Las firmas digitales usan criptografía asimétrica con pares de claves públicas/privadas. HMAC es más rápido y simple pero requiere distribución segura de claves.
¿Cómo verifico un HMAC?
Para verificar un HMAC, el destinatario calcula el HMAC usando el mismo algoritmo, mensaje y clave secreta, luego lo compara con el HMAC recibido. Si coinciden exactamente, el mensaje es auténtico y no modificado. Siempre use comparación de tiempo constante.
¿Qué es HMAC-SHA256?
HMAC-SHA256 es HMAC usando la función hash SHA-256. Produce un valor hash de 256 bits (32 bytes) y se usa ampliamente en APIs web, tokens JWT y comunicaciones seguras. Es actualmente la variante HMAC más comúnmente usada para autenticación de propósito general.
¿Puede HMAC usarse para almacenamiento de contraseñas?
Aunque HMAC puede usarse en sistemas de almacenamiento de contraseñas, no se recomienda usarlo solo. El almacenamiento moderno de contraseñas debe usar algoritmos especializados como bcrypt, scrypt o Argon2 diseñados para ser lentos y resistentes a ataques de fuerza bruta.
Cómo usar Generador HMAC
Genera firmas HMAC con SHA-1, SHA-256, SHA-384 o SHA-512 para autenticar mensajes y verificar solicitudes de API. Todo el cálculo ocurre localmente en tu navegador: tu clave secreta nunca se envía a ningún sitio.
- Escribe el mensaje que quieres firmar en el campo de mensaje, por ejemplo Hello, World!
- Introduce tu secreto en el campo Secret Key (el marcador muestra un ejemplo como my-secret-key).
- Selecciona la función hash en la lista Algorithm: SHA-256, SHA-1, SHA-384 o SHA-512.
- Copia la firma resultante y compárala con el valor que espera el otro extremo de tu API.
- Cambia la clave o el mensaje y observa cómo la firma cambia por completo: así se detecta la manipulación.
Ambas partes deben usar exactamente el mismo algoritmo y clave; con un solo carácter distinto la firma es completamente diferente.
Herramientas relacionadas
- Generador de Hash Genera hashes MD5, SHA-1, SHA-256, SHA-512 a partir de texto al instante en tu navegador
- Verificador de Hash Calcule y verifique hashes MD5, SHA-1, SHA-256, SHA-512 localmente
- Desbloquear PDF Elimina la protección por contraseña de archivos PDF al instante en tu navegador. Incluye recuperación inteligente de contraseñas.
- Proteger PDF Agrega protección por contraseña a archivos PDF en línea gratis. Cifra documentos PDF con cifrado AES-256 para evitar el acceso no autorizado. 100% en el navegador, sin subir archivos.
- Generador de Cabeceras Basic Auth Genera cabeceras de autenticación HTTP Basic en línea — codifica usuario:contraseña en cabecera Authorization Base64 al instante
- Cifrado de Texto Cifrado y descifrado seguro de texto con AES-GCM/AES-CBC. Basado en contraseña, procesamiento solo en el navegador, los datos nunca salen de tu dispositivo.
- Cifrado / Descifrado AES Cifrado/descifrado AES con modos CBC, CFB, CTR, OFB, ECB, relleno Pkcs7/ZeroPadding/NoPadding, claves 128/192/256 bits, salida Base64, detección automática de formato clave/IV
- Generador de Claves RSA Genere pares de claves RSA de 2048, 3072, 4096 bits. Salida en formato PEM con huella digital. Procesamiento local.