Generador y verificador HMAC
Genere y verifique códigos de autenticación de mensajes HMAC con SHA-256, SHA-384, SHA-512 o SHA-1 utilizando una clave secreta, completamente en su navegador.
Resultado
Un HMAC (código de autenticación de mensajes basado en hash) es una construcción criptográfica con clave que combina una clave secreta con un mensaje a través de una función hash como SHA-256. A diferencia de un hash simple, que cualquiera puede volver a calcular a partir del mensaje únicamente, un HMAC solo puede ser reproducido por alguien que tenga la misma clave secreta; eso es lo que lo convierte en un código de autenticación en lugar de simplemente una suma de verificación.
Esta es la diferencia fundamental con un simple resumen: nuestra propia herramienta Hash Generator calcula hashes sin clave como MD5 o SHA-256, que son excelentes para detectar corrupción accidental pero no prueban nada sobre quién produjo los datos, ya que cualquiera puede generar el mismo hash. Un HMAC demuestra tanto integridad (el mensaje no fue alterado) como autenticidad (el firmante conocía el secreto compartido), razón por la cual HMAC es el componente estándar detrás de la firma de solicitudes API, los algoritmos HS256/HS384/HS512 de JWT y la autenticación de registros TLS.
El caso de uso más común en el mundo real es la verificación de firmas de webhooks. Servicios como Stripe, GitHub y Shopify firman cada carga útil de webhook con HMAC-SHA256 utilizando un secreto que usted configura y envían la firma resultante en un encabezado de solicitud. Se espera que su servidor vuelva a calcular el HMAC sobre la carga útil sin procesar con el mismo secreto y lo compare con el valor del encabezado; si coinciden, sabrá que la solicitud realmente provino de ese servicio y no fue manipulada en tránsito. El modo de verificación de esta herramienta reproduce exactamente esa verificación: pegue la carga útil, el secreto compartido y la firma recibida, y obtenga una coincidencia o discrepancia instantánea.
Todo se ejecuta localmente a través de la Web Crypto API nativa del navegador (crypto.subtle.importKey y crypto.subtle.sign), por lo que la clave secreta, el cuerpo del mensaje y la firma resultante nunca salen de su máquina; no se carga nada en ningún servidor, lo cual importa ya que los secretos de HMAC son exactamente el tipo de valor que nunca debe pegar en una herramienta aleatoria en línea que pueda registrarlo.