Gerador de HMAC

Calcule um HMAC de uma mensagem e chave com SHA-1, SHA-2 ou SHA-3, verifique-o contra uma assinatura esperada e gere em hex ou Base64, tudo no seu navegador.

Carregando ferramenta…

Gerador de HMACDigite uma mensagem e uma chave secreta, escolha SHA-1, SHA-256, SHA-384, SHA-512 ou uma variante do SHA-3 e obtenha na hora a assinatura HMAC correspondente, atualizada ao vivo enquanto digita. Interprete a chave como UTF-8, hexadecimal ou Base64, gere o resultado em hexadecimal minúsculo ou maiúsculo ou em Base64, e cole um valor esperado para verificá-lo com uma comparação de tempo constante. Tudo roda localmente — SHA-2 pela Web Crypto API e SHA-3 por WebAssembly no navegador — então sua mensagem e sua chave nunca saem do navegador.

O que é Gerador de HMAC?

O Gerador de HMAC é uma ferramenta online e gratuita que calcula um código de autenticação de mensagem baseado em hash com chave (HMAC) a partir de qualquer mensagem de texto e de uma chave secreta compartilhada. Ele oferece suporte a SHA-1, SHA-256, SHA-384 e SHA-512 pela Web Crypto API, além da família SHA-3 — SHA3-224, SHA3-256, SHA3-384 e SHA3-512 — e exibe a assinatura em hexadecimal (minúsculo ou maiúsculo) ou em Base64. Você pode interpretar a chave como texto UTF-8, hexadecimal ou bytes Base64 e mudar para o modo de verificação colando um HMAC esperado, conferido com uma comparação de tempo constante para resistir a ataques de tempo. As pessoas desenvolvedoras o utilizam para assinar cargas de webhooks, criar e verificar assinaturas de requisições de API, gerar tokens à prova de adulteração ou confirmar que um valor corresponde a uma assinatura de outro sistema. A assinatura é recalculada ao vivo ao editar qualquer campo e roda inteiramente no navegador. Buscas comuns incluem "hmac sha256 generator", "hmac sha3", "hmac base64" e "hmac verify online".

Como usar Gerador de HMAC

  1. Digite ou cole no campo de entrada a mensagem que você quer assinar.
  2. Insira sua chave secreta compartilhada e, em Opções, escolha se ela é UTF-8, hexadecimal ou Base64.
  3. Escolha o algoritmo de hash — SHA-1, SHA-256, SHA-384, SHA-512 ou uma variante do SHA-3 — no menu suspenso.
  4. Alterne a saída entre Hex e Base64 e ative o hexadecimal maiúsculo em Opções se precisar.
  5. Veja o HMAC se atualizar automaticamente e clique em Copiar, ou cole um HMAC esperado no campo de verificação para conferir a correspondência.

Exemplos

HMAC-SHA256 em hex

Entrada

mensagem: The quick brown fox
chave: secret
algoritmo: SHA-256
codificação: Hex

Saída

7a284e5025f32a846fa3e6957d10278eb5726dd4e0b04c8e0259defcd2cd0eb1

A mesma entrada em Base64

Entrada

mensagem: The quick brown fox
chave: secret
algoritmo: SHA-256
codificação: Base64

Saída

eihOUCXzKoRvo+aVfRAnjrVybdTgsEyOAlne/NLNDrE=

Verificar uma assinatura

Cole o HMAC esperado no campo de verificação; quando ele coincide com a assinatura calculada, a ferramenta informa uma correspondência, usando uma comparação de tempo constante. O hexadecimal é comparado sem diferenciar maiúsculas e minúsculas.

Perguntas frequentes

Quais algoritmos de hash e codificações são suportados?
SHA-1, SHA-256, SHA-384 e SHA-512 (pela Web Crypto API) e a família SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512). A assinatura é exibida em hexadecimal — minúsculo ou maiúsculo — ou em Base64, e a chave pode ser interpretada como UTF-8, hexadecimal ou Base64.
Minha mensagem e minha chave secreta são enviadas para algum lugar?
Não. O HMAC é calculado 100% no lado do cliente: SHA-2 com a Web Crypto API e SHA-3 com WebAssembly no navegador. Nem a mensagem nem a chave são enviadas a um servidor, então é seguro usar com chaves reais.
Como funciona o modo de verificação?
Cole o valor que você espera no campo de verificação. A ferramenta o compara com o HMAC recém-calculado por um algoritmo de tempo constante que nunca encerra antes do fim, de modo que o tempo de comparação não revela onde ocorre uma divergência. O hexadecimal é comparado sem diferenciar maiúsculas e minúsculas.
Como a chave secreta é tratada?
Por padrão a chave é texto UTF-8, mas você pode alterá-la para hexadecimal ou Base64 em Opções para decodificar chaves binárias com exatidão. O campo da chave é um campo de senha — mascarado na tela e excluído do estado salvo do espaço de trabalho — e é usado apenas no seu navegador.
Por que meu HMAC difere do de outra ferramenta?
Um HMAC depende exatamente dos bytes da mensagem, dos bytes da chave e do hash escolhido. Espaços no final, um algoritmo diferente, hex versus Base64, hex maiúsculo versus minúsculo, ou uma codificação de chave diferente vão todos alterar o resultado.

Ferramentas relacionadas