CoderTools

Gerador HMAC

Gere códigos de autenticação HMAC seguros com vários algoritmos hash

A chave secreta usada para geração de HMAC. Mantenha confidencial!

* SHA-1 é considerado inseguro. ** MD5 está criptograficamente quebrado e deve ser usado apenas para compatibilidade legada. Use SHA-256 ou SHA-512 para novas aplicações.

Sobre HMAC

HMAC (Keyed-Hash Message Authentication Code) é um mecanismo para autenticação de mensagens usando funções hash criptográficas e uma chave secreta. Como especificado na RFC 2104, verifica tanto a integridade dos dados quanto a autenticidade.

Ao contrário de um hash padrão (como SHA-256), o HMAC usa uma chave secreta para garantir a autenticidade. É amplamente usado em autenticação de API (ex: AWS Signature v4), JWT e transferências financeiras.

Algoritmos HMAC Suportados

Suporta SHA-256, SHA-512, SHA-384, SHA-224, variantes SHA-3, além de MD5 e SHA-1. Fórmula: HMAC(K, m) = H((K' ⊕ opad) || H((K' ⊕ ipad) || m)).

Casos de Uso Comuns

Autenticação de requisição API e verificação de assinatura
Assinatura JWT (JSON Web Token) com HS256/HS384/HS512
Verificação de payload de Webhook
Derivação de chave baseada em senha (PBKDF2)
Verificação de integridade de mensagem em comunicações seguras

Considerações de Segurança

A segurança depende da chave secreta. Força da Chave: Deve ser aleatória e pelo menos tão longa quanto a saída do hash (ex: 32 bytes para SHA-256). Algoritmo: Use SHA-256 ou SHA-512. Evite MD5 e SHA-1.

Exemplo

Mensagem: "Hello, World!"

Chave Secreta: "secret-key-2025"

Algoritmo: HMAC-SHA256

Saída:

e4d7f1b4c4e5a8d3e...

Perguntas Frequentes (FAQ)

Qual a diferença entre Hash e HMAC?

Um Hash é público. HMAC combina Hash *mais* uma chave secreta. Só quem tem a chave pode criar ou verificar o HMAC correto.

Por que não usar apenas Hash(Chave + Mensagem)?

A concatenação simples é vulnerável a 'ataques de extensão de comprimento' em hashes como MD5/SHA-1. A estrutura do HMAC previne isso.

HMAC é reversível?

Não. É uma função hash, não encriptação. É unidirecional.

Qual o tamanho ideal da chave?

A RFC 2104 recomenda um tamanho pelo menos igual à saída do hash (ex: 32 bytes para SHA-256).

Posso usar para senhas?

Para senhas, use KDFs como PBKDF2, bcrypt ou Argon2.

Minha chave está segura aqui?

Sim. A ferramenta roda 100% no cliente via JavaScript. Sua chave nunca é enviada ao servidor.

Menu Rápido

Nenhuma ferramenta recente