Como usar: Gerador HMAC
- Cole a mensagem exatamente como ela será assinada — o corpo bruto da requisição, no caso de webhooks.
- Digite a chave secreta e escolha a codificação dela.
- Escolha o algoritmo de hash; o HMAC é atualizado na hora.
- Cole uma assinatura recebida em Assinatura esperada para verificá-la.
O que é HMAC?
HMAC (Hash-based Message Authentication Code, RFC 2104) combina uma chave secreta com uma função de hash para gerar uma assinatura. Quem tiver a chave consegue calcular o mesmo valor; quem não tiver não consegue forjar um. APIs usam HMAC para assinar requisições (AWS Signature v4, muitos gateways de pagamento), e webhooks o utilizam para que você possa comprovar que um callback realmente veio do remetente.
Verificando webhooks
| Serviço | Cabeçalho | Algoritmo / codificação |
|---|---|---|
| GitHub | X-Hub-Signature-256 | HMAC-SHA256, hex, com prefixo sha256= |
| Stripe | Stripe-Signature | HMAC-SHA256 em hex de timestamp.body |
| Shopify | X-Shopify-Hmac-Sha256 | HMAC-SHA256, Base64 |
| Slack | X-Slack-Signature | HMAC-SHA256 em hex de v0:timestamp:body |
O motivo mais comum para a assinatura não bater é que o corpo foi alterado antes de ser assinado — JSON analisado e serializado de novo, espaços ou quebras de linha diferentes. Sempre assine os bytes brutos que você recebeu. O verificador acima aceita hex (com ou sem sha256=), Base64 e Base64url.
HMAC x hashes simples
Um hash SHA-256 simples comprova integridade, mas não autenticidade: qualquer pessoa pode recalculá-lo depois de alterar a mensagem. O HMAC inclui o segredo, então só quem tem a chave consegue gerar um valor válido. Use uma chave com pelo menos o mesmo número de bytes aleatórios da saída do hash (32 para SHA-256). Em código de servidor, compare assinaturas com uma função de tempo constante, como crypto.timingSafeEqual.
Para hashes sem chave, use o gerador de hash; para tokens assinados, use o codificador JWT.
Também pesquisado como: hmac sha256, hmac online, hmac sha256 online, assinatura webhook, hmac sha512, verificar hmac.
Ferramentas que combinam com: Gerador HMAC
- Decodificador JWT — Cole um JSON Web Token para analisar seu cabeçalho e sua carga, verificar quando ele expira e conferir sua assinatura.
- Codificação/Decodificação Base64 — Converte texto para Base64 e vice-versa, com suporte total a UTF-8 (acentos, emojis); alterna para Base64 seguro para URLs; ou arrasta um arquivo para obter sua string Base64 ou URI de dados.
- Criptografar e Descriptografar AES — Proteja uma anotação, um segredo ou um valor de configuração com senha usando AES-256 — ou descriptografe texto gerado por openssl enc.
- Validador de IBAN — Verifique se um IBAN é válido antes de enviar dinheiro ou salvar o número: o país, o tamanho correspondente a esse país, o formato da conta e o checksum mod-97.
Perguntas frequentes
Por que meu HMAC não bate com a assinatura do webhook?
sha256=.