Verificador de Firmas de Webhook (HMAC)|Valida y Depura Firmas SHA-256 Online
Herramienta online para desarrolladores que necesitan verificar o depurar firmas de webhooks HMAC (SHA-256, SHA-512, SHA-1). Pega tu payload, secreto y firma para validar instantáneamente la autenticidad e integridad de las peticiones recibidas de servicios como Stripe, GitHub, Shopify, entre otros.
💡 Resumen de la Herramienta
- Validación Instantánea: La firma se calcula y compara automáticamente a medida que escribes, proporcionando feedback inmediato sobre si coincide o no.
- Soporte Multi-Algoritmo: Compatible con los algoritmos HMAC más comunes utilizados en webhooks: SHA-256, SHA-512 y SHA-1.
- Comparador Visual de Diferencias: Si las firmas no coinciden, la herramienta resalta los caracteres exactos que difieren, facilitando la depuración de errores sutiles.
- Seguridad Primero: Tus datos, incluyendo el secreto y el payload, se procesan localmente en tu navegador. Ninguna información sensible es enviada a nuestros servidores.
🧐 Preguntas Frecuentes
Q. ¿Qué es una firma de webhook y por qué es importante?
A. Una firma de webhook es un código de autenticación (HMAC) generado usando una clave secreta compartida y el contenido (payload) del webhook. Permite al servidor que recibe el webhook verificar dos cosas: que la petición proviene realmente del servicio de origen (autenticidad) y que el contenido no ha sido alterado en el camino (integridad). Es un mecanismo de seguridad crucial para prevenir ataques de falsificación de peticiones.
Q. Mi firma no coincide. ¿Cuáles son las causas más comunes?
A. Un "mismatch" o no coincidencia suele deberse a problemas comunes en la implementación:
1. Payload incorrecto: Asegúrate de estar utilizando el cuerpo crudo (raw body) de la petición HTTP, tal cual lo recibes, antes de cualquier parseo de JSON. Cambios de formato, como el "pretty-printing", alteran el payload y generarán una firma diferente.
2. Secreto erróneo: Verifica que estás usando la clave secreta correcta y que no hay espacios en blanco o caracteres extra copiados por error.
3. Algoritmo incorrecto: Confirma que el algoritmo HMAC (ej. SHA-256) seleccionado en la herramienta es el mismo que el servicio de origen utiliza para generar la firma.
4. Extracción de la firma: La herramienta extrae automáticamente el valor hexadecimal de la firma de cabeceras comunes (ej. sha256=...). Asegúrate de que el valor que pegas contiene la firma correcta.
📚 Conocimientos sobre HMAC en Webhooks
HMAC (Hash-based Message Authentication Code) es el estándar criptográfico utilizado para generar las firmas de los webhooks. A diferencia de un hash simple (como SHA-256 solo), HMAC combina el payload con una clave secreta. Esto significa que solo alguien que posea la clave secreta puede generar una firma válida para un payload dado.
En la práctica, los servicios como Stripe o GitHub envían la firma en una cabecera HTTP (ej. X-Hub-Signature-256 o Stripe-Signature). Esta cabecera a menudo incluye no solo la firma (v1=...) sino también un timestamp (t=...) para proteger contra ataques de repetición (replay attacks), donde un atacante intercepta y reenvía una petición válida antigua. Aunque esta herramienta se centra en la validación de la firma en sí, es fundamental considerar también la validación del timestamp en una implementación de producción.