Daldal Tools

Generador de HMAC

Calcula la firma HMAC de un mensaje y una clave, en hexadecimal o base64, y compárala con una firma recibida.

Se procesa en tu navegadorUso gratuito

Comparar con una firma recibida

Los archivos se procesan en tu navegador y nunca se suben a ningún servidor.

Cómo se usa

De uso gratuito, sin registro, sin instalación y sin límite de uso.

Pega el mensaje y la clave, elige un hash y aparece la firma. Pega en la caja de comparación una firma que hayas recibido y te dice si coinciden.

Este es el cálculo que hay detrás de la verificación de webhooks. Stripe, GitHub y la mayoría de pasarelas firman el cuerpo de la petición con un secreto compartido y ponen el resultado en una cabecera; tu endpoint lo recalcula y rechaza lo que no cuadre.

No es lo mismo que un hash a secas. Cualquiera puede calcular el SHA-256 de un cuerpo alterado y enviar el nuevo hash con él. Un HMAC solo lo puede producir quien tiene la clave, y eso es lo que lo convierte en prueba de origen.

Las claves se reparten a menudo en hexadecimal o base64 y no como texto, así que la codificación de la clave es una opción aparte. Leer una clave hexadecimal como texto da una firma completamente distinta: una causa habitual de que la verificación falle con un código que parece correcto.

La comparación recorre siempre toda la cadena. Parar en la primera diferencia haría que el tiempo empleado revelase cuántos caracteres iniciales eran correctos, y con eso un atacante puede sacar la firma carácter a carácter. Tu servidor debería comparar igual.

SHA-1 está disponible porque algunos sistemas antiguos lo exigen, pero no lo elijas para nada nuevo.

Nada de lo que pegas se envía a un servidor. La firma se calcula en tu navegador con la Web Crypto API.

Herramientas que se usan a continuación