search

Found

info Visão geral

Calcula HMAC-SHA256/512/SHA-1 via Web Crypto, remove prefixos sha256= ou v1= por regex e compara caractere a caractere.

📘 Como usar

  1. Selecione o algoritmo de hash desejado e insira a chave secreta.
  2. Insira o payload bruto (raw body) da requisição no campo de texto.
  3. Informe a assinatura recebida pelo webhook para visualizar a comparação e verificar a autenticidade.

Verificador de assinatura de Webhook (HMAC)

security

Processamento totalmente no cliente

Esta ferramenta não se comunica com o servidor. Todas as chaves secretas e dados inseridos são processados localmente em seu navegador e nunca são enviados externamente.

data_object Configuração

verified_user Resultado da verificação

Aguardando...
Copiado!
Recv:
---
Calc:
---

* Para comparação, prefixos como sha256= ou v1= são excluídos da assinatura recebida.

Article

Simulador de Validação de Assinatura de Webhook (HMAC)|Ferramenta para Desenvolvedores

Simulador prático para validação e debug de assinaturas HMAC de Webhooks. Desenvolvido para engenheiros de software e integradores, permite verificar payloads e headers de serviços como Stripe, GitHub, Shopify, Mercado Pago, entre outros, em tempo real.

💡 Sobre a Ferramenta

  • Privacidade e Segurança (Client-Side): Como a ferramenta lida com credenciais críticas de infraestrutura, nenhum dado é enviado a servidores externos; todo o processamento e cálculo criptográfico são feitos exclusivamente no seu navegador utilizando a Web Crypto API nativa.
  • Análise Visual de Diff: A interface compara caractere por caractere a assinatura recebida (Recv) com a assinatura calculada (Calc). Erros de correspondência são destacados em vermelho, agilizando o troubleshooting de requisições.
  • Cálculo HMAC em Tempo Real: As assinaturas em formato hexadecimal são recálculadas instantaneamente a cada alteração no payload ou na chave secreta.
  • Suporte a Múltiplos Algoritmos: Permite alternância rápida entre SHA-256 (padrão da indústria moderna), SHA-512 (para alta segurança) e SHA-1 (para compatibilidade com sistemas legados).
  • Extração Inteligente de Assinaturas: O campo de assinatura recebida suporta formatos comuns de cabeçalhos de plataformas (ex: v1=... ou sha256=...), extraindo automaticamente a string hexadecimal para a comparação.

🧐 Perguntas Frequentes

Q. Por que a assinatura calculada não corresponde à assinatura recebida?

A. Na maioria dos casos, a falha de validação ocorre porque a string do payload inserida não é um exact match do corpo bruto (raw body) da requisição HTTP. Diferenças imperceptíveis como espaços em branco, quebras de linha (\n vs \r\n) ou a formatação/serialização do JSON pelas bibliotecas do backend mudam completamente o hash resultante. Certifique-se de capturar e testar o buffer exato recebido na rede.

Q. Posso utilizar esta ferramenta para testar webhooks locais?

A. Sim. Durante o ciclo de desenvolvimento e integração local (usando ferramentas como ngrok ou localtunnel), você pode copiar o payload e a chave secreta e usar este simulador para garantir que a lógica de hash do seu middleware está implementada corretamente antes de subir o código para o ambiente de staging ou produção.

📚 Curiosidade: Padrões de Assinatura HMAC e Segurança de APIs

Na arquitetura contemporânea de microsserviços e APIs web, provedores de gateways de pagamento populares no Brasil (como Pagar.me, Mercado Pago, Iugu e Stripe) exigem o uso rigoroso de HMAC-SHA256 para a autenticação de Webhooks. O Código de Autenticação de Mensagem Baseado em Hash (HMAC) serve a dois propósitos críticos: assegurar a origem da mensagem (autenticidade) e garantir que a carga útil não foi interceptada e manipulada no trajeto (integridade).

No ecossistema brasileiro de desenvolvimento, em que a conformidade com as exigências da LGPD, padrões de Open Finance do Banco Central e certificações PCI-DSS são essenciais, a validação de assinaturas não é opcional; é um requisito não funcional mandatório. Ignorar essa etapa expõe a infraestrutura a ataques de replay e injeção de transações falsas (ex: aprovação indevida de pagamentos via PIX ou cartão de crédito). Idealmente, os sistemas devem sempre acusar correspondência total (Match) antes de desencadear qualquer operação no banco de dados.