Generador y verificador de HMAC
Calcula el HMAC de un mensaje con una clave secreta, o comprueba que una firma (webhook, petición a una API) es válida. La clave y el mensaje se quedan en tu navegador.
Se ejecuta en tu navegador: no se sube nada.
Oculta mientras escribes. No se admite una clave vacía.
HMAC
CopiadoVerificar una firma
Hex o base64 / base64url, se detecta solo.
Cómo se usa
- Escribe el mensaje y la clave secreta, e indica si la clave es texto, hex o base64.
- Elige el algoritmo y el formato de salida. El HMAC aparece mientras escribes.
- Para comprobar una firma recibida, pégala en «HMAC esperado»: la página dice si es válida.
Preguntas frecuentes
¿Se envía mi clave a algún sitio?
No. El HMAC se calcula en tu navegador con la API Web Crypto. Esta página no carga anuncios, analítica ni scripts de terceros, y nada de lo que escribes se registra ni se guarda.
¿Cómo compruebo la firma de un webhook?
Pon en Mensaje el cuerpo exacto de la petición sin procesar y tu secreto de firma como clave, y pega el valor de la cabecera de firma (sin prefijos como «sha256=») en HMAC esperado. Un solo byte distinto, por ejemplo un JSON reformateado, da otro resultado.
¿Clave en texto, hex o base64?
Debe coincidir con cómo la usa el otro lado. Muchos servicios dan el secreto como texto; algunos lo dan en hex o base64 y hay que decodificarlo a bytes primero.
¿La comparación es segura frente a ataques de temporización?
La verificación usa la comprobación de tiempo constante de Web Crypto. En el código de tu servidor, compara siempre firmas con una función de tiempo constante como hash_equals() en PHP.
¿Sigue siendo seguro HMAC-SHA-1?
No se conoce que HMAC-SHA-1 esté roto, a diferencia de SHA-1 a secas, pero para algo nuevo prefiere SHA-256 o superior.