Gerador de HMAC (SHA-256, SHA-1, SHA-384, SHA-512)

Calcule o HMAC de uma mensagem com chave secreta online, em tempo real. Suporta SHA-256, SHA-1, SHA-384 e SHA-512. Saída em hexadecimal.

Gerador de HMAC online

Informe a mensagem, a chave secreta e o algoritmo de hash para calcular o HMAC em tempo real. Suporta SHA-256, SHA-1, SHA-384 e SHA-512, com saída em hexadecimal (minúsculas e maiúsculas). Processamento 100% no navegador — nada é enviado ao servidor.

O que é HMAC?

HMAC (Hash-based Message Authentication Code) é um código de autenticação de mensagem que combina uma função de hash (como SHA-256) com uma chave secreta. Ele serve para dois objetivos ao mesmo tempo:

  • Integridade — garante que a mensagem não foi alterada
  • Autenticidade — garante que ela foi gerada por quem possui a chave secreta

Diferente de um hash simples, o HMAC não pode ser recalculado por alguém que não conheça a chave secreta.

Como o HMAC funciona

O HMAC aplica a função de hash duas vezes, combinando a chave com a mensagem:

HMAC(K, m) = H( (K ⊕ opad) || H( (K ⊕ ipad) || m ) )

Onde H é a função de hash, K é a chave, m é a mensagem, e ipad/opad são padding internos definidos no padrão (RFC 2104). Essa construção em duas camadas protege contra ataques de extensão de comprimento que afetariam um hash simples concatenado com a chave.

HMAC vs hash simples

Hash simples (ex: SHA-256)HMAC
Usa chave secretaNãoSim
Garante integridadeSimSim
Garante autenticidadeNãoSim
Pode ser recalculado por qualquer umSimNão (precisa da chave)

Usos comuns do HMAC

  • JWT — o algoritmo HS256 é HMAC com SHA-256
  • Webhooks — serviços como GitHub e Stripe assinam payloads com HMAC para que você verifique a origem
  • APIs — assinatura de requisições (AWS Signature, por exemplo)
  • Verificação de integridade de mensagens e arquivos

Qual algoritmo escolher?

  • HMAC-SHA256 — padrão recomendado para a maioria dos casos
  • HMAC-SHA384 / SHA512 — quando se deseja saída maior e margem extra de segurança
  • HMAC-SHA1 — apenas para compatibilidade com sistemas legados; SHA-1 está depreciado para novos projetos

Perguntas frequentes

HMAC é criptografia?

Não. HMAC não esconde a mensagem (que continua visível) — ele apenas gera um código que prova a integridade e autenticidade. Para confidencialidade, é necessário usar criptografia (como AES).

Posso usar HMAC para armazenar senhas?

Não diretamente. Para senhas, use algoritmos próprios como bcrypt, Argon2 ou scrypt, que são propositalmente lentos. HMAC é projetado para autenticação de mensagens, não para hashing de senhas.

A mesma mensagem e chave sempre geram o mesmo HMAC?

Sim. HMAC é determinístico: dadas a mesma mensagem, chave e algoritmo, o resultado é sempre idêntico. É exatamente isso que permite a verificação do outro lado.

Por que minha chave secreta importa tanto?

A segurança do HMAC depende inteiramente do sigilo da chave. Qualquer pessoa que conheça a chave pode forjar HMACs válidos. Use chaves longas, aleatórias e mantidas em segredo.

Veja também