Herramienta online de cálculo HMAC
Información del cálculo
Generación y verificación HMAC con 8 algoritmos hash, claves y mensajes en tres codificaciones y comparación en tiempo constante
Herramienta online de cálculo HMAC
HMAC es un código de autenticación de mensajes basado en hash y protegido por una clave: el mismo mensaje produce resultados completamente diferentes con claves distintas. Por ello permite comprobar si los datos han sido modificados y confirmar que el mensaje procede de alguien que posee la clave. Las firmas de API, la verificación de callbacks Webhook y la protección contra modificaciones de URL de descarga utilizan HMAC.
Funciones principales
- Generar HMAC: introduce el mensaje y la clave, selecciona el algoritmo hash y obtiene el código de autenticación.
- Verificar HMAC: pega el valor esperado proporcionado por la otra parte y compáralo con el resultado local para obtener una indicación directa de coincidencia o diferencia.
- Clave aleatoria: utiliza el generador seguro de números aleatorios del navegador para crear claves de 16, 32 o 64 bytes, con opción de mostrar u ocultar la clave.
- Ejemplos habituales: incluye ejemplos de firma de API y verificación de Webhook para comprender rápidamente cómo construir los parámetros.
Algoritmos y codificaciones compatibles
Los algoritmos incluyen HMAC-SHA1, HMAC-SHA256, HMAC-SHA384, HMAC-SHA512 y HMAC-SHA3-224, SHA3-256, SHA3-384 y SHA3-512, con un total de 8. SHA1 aparece marcado como no recomendado y SHA256 se utiliza por defecto. Tanto la clave como el mensaje pueden interpretarse por separado como UTF-8, Hex o Base64, mientras que la salida puede ser Hex o Base64, permitiendo adaptarse directamente a los requisitos de codificación de distintas documentaciones de API.
Verificación e información del resultado
El modo de verificación utiliza una comparación en tiempo constante para evitar filtrar información mediante diferencias en el tiempo de comparación. La sección de resultados muestra la longitud del resumen, del mensaje y de la clave, ayudando a comprobar si la clave fue truncada o contiene espacios adicionales. La página también explica que las firmas JWT utilizan Base64URL, que se diferencia de Base64 estándar en el relleno y en dos caracteres; esto debe tenerse en cuenta al comparar resultados.
Manejo de errores
Al interpretar la clave o el mensaje como Hex, los caracteres no válidos o una longitud impar se indican directamente. Los errores de análisis Base64 también se muestran claramente, en lugar de producir una firma incorrecta. Los mensajes o claves vacíos y la ausencia del HMAC esperado durante la verificación solicitan completar los datos.
Casos de uso
- Depurar firmas de API de plataformas abiertas y comprobar si la implementación local coincide con los ejemplos de la documentación.
- Verificar la firma incluida en las cabeceras de solicitudes Webhook y confirmar que la solicitud no ha sido falsificada.
- Comparar resultados HMAC de implementaciones en PHP, Java, Go, Node y otros lenguajes.
- Generar rápidamente claves aleatorias para entornos de prueba.
Privacidad y seguridad de los datos
Todo el cálculo HMAC se realiza localmente en el navegador. No existe una API de cálculo en el servidor y las claves y mensajes no se suben ni se guardan. Aun así, se recomienda utilizar claves de prueba en lugar de claves reales de producción.
Generación y verificación online de códigos HMAC
- Admite 8 algoritmos: HMAC-SHA1, SHA256, SHA384, SHA512 y SHA3-224/256/384/512
- Las claves y mensajes pueden interpretarse por separado como UTF-8, Hex o Base64 para adaptarse a distintas documentaciones de API
- La salida admite Hex y Base64 y muestra la longitud del resumen, del mensaje y de la clave
- El navegador puede generar claves aleatorias de 16, 32 o 64 bytes, con opción de mostrar u ocultar la clave
- En el modo de verificación basta con pegar el HMAC esperado para compararlo mediante tiempo constante
- Incluye ejemplos de firma de API y verificación de Webhook y advierte sobre la diferencia de codificación Base64URL de JWT