Gerador de HMAC

Gere um HMAC (código de autenticação de mensagem baseado em hash) a partir de uma mensagem e uma chave secreta usando SHA-256, SHA-1, SHA-384 ou SHA-512. Veja o HMAC em hex minúsculo e Base64, totalmente no seu navegador.

100% privado. O HMAC é calculado no seu navegador com a Web Crypto API nativa. Sua mensagem e sua chave secreta nunca saem do seu dispositivo.


  

  

O Gerador de HMAC cria um código de autenticação de mensagem baseado em hash, com chave, a partir de qualquer mensagem e chave secreta, diretamente no seu navegador. Escolha SHA-256, SHA-1, SHA-384 ou SHA-512, cole sua mensagem e sua chave, e receba o HMAC em hexadecimal minúsculo e em Base64. Tudo roda no lado do cliente com a Web Crypto API nativa, então sua mensagem e sua chave secreta nunca são enviadas.

O que é um HMAC?

Um HMAC, ou código de autenticação de mensagem baseado em hash, combina uma função de hash criptográfica com uma chave secreta para produzir um código de tamanho fixo que comprova tanto a integridade quanto a autenticidade de uma mensagem. Diferente de um hash simples como o SHA-256, que qualquer pessoa pode recalcular apenas com a mensagem, um HMAC não pode ser reproduzido sem a chave secreta. Isso o torna ideal para verificar que uma mensagem não foi adulterada e que veio de alguém que possui a chave compartilhada. O HMAC é definido na RFC 2104 e é amplamente usado para assinar requisições de API, webhooks, JWTs e tokens de sessão.

Como gerar um HMAC

Informe a mensagem e a chave secreta, escolha um algoritmo de hash e gere o código. Você recebe o HMAC em hexadecimal e em Base64.

  1. Digite ou cole a mensagem que deseja autenticar.
  2. Informe a chave secreta compartilhada que os dois lados vão usar.
  3. Escolha o algoritmo de hash (SHA-256 é o padrão mais comum).
  4. Clique em Gerar HMAC para calcular o código.
  5. Copie a saída em hex ou Base64 para usar na sua assinatura ou comparação.

HMAC vs hash simples

Um hash simples como SHA-256 ou MD5 não tem chave: ele mapeia uma mensagem para um digest, mas qualquer pessoa com a mensagem pode produzir o mesmo digest, então ele só protege contra corrupção acidental. Um HMAC incorpora uma chave secreta, então apenas as partes que conhecem a chave conseguem calcular ou verificar o código. É isso que permite a um servidor confirmar que um webhook ou requisição de API realmente veio de um cliente confiável e não foi modificado em trânsito. Se você só precisa de uma impressão digital de algum conteúdo, um hash simples basta; se precisa de autenticidade garantida por um segredo compartilhado, use um HMAC.

Por que usar este gerador de HMAC?

  • Totalmente no lado do cliente: calculado com a Web Crypto API nativa do navegador, nada é enviado.
  • Suporta SHA-256, SHA-1, SHA-384 e SHA-512.
  • Gera a saída em hexadecimal minúsculo e em Base64.
  • Determinístico: a mesma mensagem, chave e algoritmo sempre produzem o mesmo HMAC.
  • Cópia em um clique de qualquer um dos formatos de saída.
  • Sem instalação, cadastro ou biblioteca externa.

Perguntas frequentes

Minha mensagem ou chave secreta é enviada para um servidor?

Não. O HMAC é calculado inteiramente no seu navegador usando a Web Crypto API nativa. Sua mensagem, sua chave secreta e o código resultante nunca são transmitidos, armazenados ou registrados. Você pode confirmar isso observando as ferramentas de rede do navegador enquanto gera um HMAC.

Qual a diferença entre HMAC e SHA-256?

SHA-256 é uma função de hash simples que transforma uma mensagem em um digest sem chave envolvida, então qualquer pessoa com a mensagem pode reproduzi-lo. HMAC-SHA256 usa o SHA-256 como hash subjacente, mas incorpora uma chave secreta, então apenas quem conhece a chave consegue calcular ou verificar o resultado. Use um hash simples para impressão digital e um HMAC quando precisar comprovar autenticidade com um segredo compartilhado.

Qual algoritmo de hash devo escolher?

HMAC-SHA256 é o mais comum e um ótimo padrão para sistemas novos. SHA-384 e SHA-512 produzem códigos mais longos e podem ser usados quando se exige uma saída maior. SHA-1 é oferecido para compatibilidade com sistemas antigos, mas é considerado fraco e não deve ser usado em novos projetos. Escolha o algoritmo que corresponde àquilo com que você está se integrando.

Por que a saída vem em hex e Base64?

Sistemas diferentes esperam HMACs em codificações diferentes. Muitas APIs enviam a assinatura como hexadecimal minúsculo, enquanto outras, incluindo alguns provedores de webhook, usam Base64. Os mesmos bytes subjacentes são mostrados nos dois formatos para que você copie aquele de que sua integração precisa.

As mesmas entradas sempre geram o mesmo HMAC?

Sim. O HMAC é totalmente determinístico. Para uma mesma mensagem, chave secreta e algoritmo de hash, você sempre obtém exatamente a mesma saída. É isso que permite a quem recebe recalcular o HMAC e compará-lo com o que você enviou para confirmar que a mensagem é autêntica e não foi alterada.