utildev

Gerador de HMAC

Gere códigos HMAC com chaves secretas

Preencha texto e chave acima

Sobre · Gerador de HMAC

Gera HMAC (Hash-based Message Authentication Code) usando uma chave secreta. Ao contrário de um hash simples, o HMAC combina a mensagem com uma chave secreta, permitindo verificar tanto integridade quanto autenticidade.

Um hash puro como SHA-256 é vulnerável a ataques de extensão de comprimento — um atacante pode calcular o hash de "mensagem + dados extras" sem conhecer o segredo. O HMAC elimina essa vulnerabilidade combinando a chave com a mensagem de forma segura (RFC 2104).

É amplamente usado para verificar assinaturas de webhooks (GitHub, Stripe e Shopify assinam payloads com HMAC-SHA256), autenticar APIs server-to-server e assinar cookies. Ao verificar uma assinatura HMAC no backend, sempre use comparação em tempo constante para evitar timing attacks.

Como funciona

Digite o texto (payload) que deseja autenticar.
Informe a chave secreta — ela deve ser conhecida apenas por quem gera e quem verifica o HMAC.
Escolha o algoritmo de hash subjacente: SHA-256 é o mais usado, SHA-512 para segurança extra.
O HMAC combina a chave com a mensagem em duas passagens de hash (RFC 2104), gerando uma assinatura única.
Compare a assinatura gerada com a recebida para verificar integridade e autenticidade — sempre com comparação em tempo constante.

Perguntas frequentes

Qual é a diferença entre Hash e HMAC?
Hash é sem chave, HMAC usa chave. HMAC é melhor para autenticação pois requer chave secreta.
Como uso HMAC em APIs?
Client envia (mensagem + HMAC). Server recalcula HMAC com sua chave. Se coincidir, mensagem é autêntica.
A chave precisa ser segura?
Sim, SIM. Se a chave vazar, qualquer um pode falsificar HMACs. Mantenha sigilosa.
HMAC é reversível?
Não. Assim como qualquer hash, o HMAC é uma função de mão única — não é possível recuperar a mensagem original nem a chave a partir da assinatura.