Gerador HMAC — SHA-256, SHA-512 e SHA-1

Calcule assinaturas HMAC com chave para requisições de API e webhooks, e confira se uma assinatura recebida é válida, usando a Web Crypto API do seu navegador.

Atualizado em
Algoritmo

🔒 Roda localmente com a Web Crypto API do seu navegador — nada do que você digita é enviado a um servidor.

Seus dados nunca saem do seu computador. Todo o processamento acontece localmente no navegador.

Como usar: Gerador HMAC

  1. Cole a mensagem exatamente como ela será assinada — o corpo bruto da requisição, no caso de webhooks.
  2. Digite a chave secreta e escolha a codificação dela.
  3. Escolha o algoritmo de hash; o HMAC é atualizado na hora.
  4. 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çoCabeçalhoAlgoritmo / codificação
GitHubX-Hub-Signature-256HMAC-SHA256, hex, com prefixo sha256=
StripeStripe-SignatureHMAC-SHA256 em hex de timestamp.body
ShopifyX-Shopify-Hmac-Sha256HMAC-SHA256, Base64
SlackX-Slack-SignatureHMAC-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?
Normalmente a mensagem é diferente: o corpo precisa ser os bytes brutos recebidos, não um JSON que foi analisado e convertido de novo em texto. Confira também o algoritmo, a codificação da chave e qualquer prefixo como sha256=.
O HMAC-SHA1 ainda é seguro?
O HMAC-SHA1 ainda é considerado seguro para autenticação, diferente do SHA-1 puro em assinaturas, mas sistemas novos devem usar HMAC-SHA256.
Minha chave secreta é enviada para algum lugar?
Não. O HMAC é calculado no seu navegador com a Web Crypto API.
Qual a diferença entre a saída em hex e em Base64?
Ambas codificam os mesmos bytes de formas diferentes. Em hex, o SHA-256 tem 64 caracteres; em Base64, tem 44. Use o formato que o sistema receptor espera.
Posso instalar o Gerador HMAC como um aplicativo da web e usá-lo offline?
Sim. O Gerador HMAC é um aplicativo da web instalável (PWA) — instalado a partir do seu navegador, não baixado de uma loja de aplicativos. Clique em “Instalar aplicativo” na parte superior desta página no Chrome ou no Edge (Windows, macOS, Linux, ChromeOS) ou, no Android, use “Compartilhar” → “Adicionar à tela inicial” no iPhone e no iPad, ou “Arquivo” → “Adicionar ao Dock” no Safari 17+ em um Mac. Em seguida, ela se abre em uma janela própria com seu próprio ícone e, como é executada inteiramente no seu navegador, continua funcionando offline. O Firefox no desktop não permite a instalação de aplicativos da web. Como funciona a instalação.

Ferramentas relacionadas