Gerador de HMAC
Geração de HMAC
Gere e verifique assinaturas HMAC com 8 algoritmos, opções de codificação de chave/mensagem e suporte a arquivos. 100% do lado do cliente.
O Que É um Gerador de HMAC?
Um gerador de HMAC calcula um Código de Autenticação de Mensagem baseado em Hash (HMAC) combinando uma mensagem com uma chave secreta por meio de uma função de hash criptográfica. Diferente de um hash simples, a saída muda completamente se a mensagem ou a chave mudarem, provando tanto que os dados estão intactos quanto que vieram de alguém que possui a chave. Esta ferramenta executa todo o cálculo do HMAC no seu navegador, para que você possa gerar e verificar assinaturas para APIs, webhooks e tokens sem enviar seu segredo a lugar nenhum.
Como Usar Este Gerador de HMAC
Gerar uma assinatura HMAC leva apenas alguns segundos:
Como as Assinaturas HMAC São Calculadas
O HMAC preenche a chave secreta até o tamanho de bloco da função de hash, e então a combina com a mensagem usando duas passagens do hash subjacente. A passagem interna aplica XOR na chave com um valor de preenchimento interno fixo e a combina com a mensagem; a passagem externa aplica XOR na chave com um valor de preenchimento diferente e a combina com o resultado da passagem interna.
Essa construção aninhada é o que protege o HMAC contra ataques de extensão de comprimento que afetam hashes simples como o SHA-256 usado sozinho. Ela é formalmente definida na RFC 2104 e usada em todos os lugares, de negociações TLS a requisições de API assinadas.
HMAC vs. um Hash Simples
Um hash simples como MD5 ou SHA-256 transforma qualquer entrada em uma impressão digital de tamanho fixo, mas qualquer pessoa pode recalcular essa impressão digital, então ele apenas prova que os dados não foram corrompidos. O HMAC adiciona uma chave secreta ao cálculo, de modo que somente quem conhece a chave pode produzir ou verificar um valor correspondente.
Essa etapa extra transforma um hash em um código de autenticação de mensagem: prova de integridade e prova de que quem assina possui o segredo compartilhado. Se você só precisa detectar arquivos corrompidos, use nosso Gerador de Hash; se precisa autenticar uma mensagem entre duas partes, o HMAC é a ferramenta certa.
Todos os Algoritmos HMAC Suportados por Este Gerador
Este gerador calcula o HMAC com oito funções de hash diferentes, igualando ou superando o que a maioria das ferramentas concorrentes de HMAC oferece:
Como regra geral, use HMAC-SHA256 a menos que um protocolo específico ou sistema legado exija outra coisa.
Algoritmo | Tamanho da Saída | Status de Segurança | Melhor Uso |
|---|---|---|---|
| MD5 | 128 bits | Legado | Compatibilidade apenas com sistemas antigos |
| SHA-1 | 160 bits | Legado | Protocolos obsoletos |
| SHA-224 | 224 bits | Seguro | Assinaturas SHA-2 compactas |
| SHA-256 | 256 bits | Recomendado | APIs, webhooks, JWT (HS256) |
| SHA-384 | 384 bits | Seguro | Assinaturas SHA-2 de maior segurança |
| SHA-512 | 512 bits | Seguro | Sistemas de 64 bits de alto desempenho |
| SHA3-512 | 512 bits | Seguro | Assinatura moderna baseada em Keccak |
| RIPEMD-160 | 160 bits | Legado | Sistemas bancários / PGP antigos |
HMAC-SHA256: O Padrão Moderno
HMAC-SHA256 é a escolha padrão para assinar webhooks e requisições de API em empresas como Stripe, GitHub e Shopify, e também é o algoritmo por trás da assinatura HS256 usada na maioria dos JSON Web Tokens.
Oferece uma boa margem de segurança, amplo suporte em bibliotecas e uma saída hexadecimal de 64 caracteres curta o suficiente para caber em cabeçalhos HTTP.
SHA3-512: A Alternativa Baseada em Keccak
O SHA-3 usa um design interno completamente diferente (Keccak) da família SHA-2, então uma assinatura HMAC-SHA3 não compartilha nenhuma fraqueza estrutural que um dia possa ser encontrada no SHA-256 ou SHA-512.
Escolha-o quando um protocolo exigir especificamente a família SHA-3 ou quando quiser diversidade de algoritmos ao lado de uma assinatura SHA-2 existente.
MD5, SHA-1 e RIPEMD-160: Algoritmos Legados
HMAC-MD5 e HMAC-SHA1 ainda são considerados criptograficamente sólidos como códigos de autenticação de mensagens, ao contrário do MD5 ou SHA-1 simples, porque a chave secreta reduz os ataques de colisão conhecidos sobre o hash subjacente.
Ainda assim, a maioria das recomendações atuais aconselha migrar para SHA-256 ou superior em sistemas novos; essas variantes são incluídas aqui principalmente para verificar ou interoperar com APIs mais antigas.
Calcule Todos os Algoritmos de Uma Vez
Mude o modo de resultado para "Todos os algoritmos" para gerar as oito variantes de HMAC para a mesma mensagem e chave com um único clique, útil quando você não sabe qual algoritmo uma API antiga espera.
Cada resultado pode ser copiado individualmente, ou use "Copiar tudo" para obter todas as assinaturas de uma vez.
Codificação de Chave e Mensagem: UTF-8, Hex e Base64
A maioria das APIs trata a chave secreta como texto UTF-8 simples, mas algumas emitem chaves como strings hexadecimais ou Base64, e assinar com a codificação errada é a causa mais comum de um HMAC calculado não corresponder ao que o servidor espera. Este gerador permite indicar exatamente como interpretar tanto a chave quanto a mensagem antes do hash.
Se a documentação do seu provedor disser que a chave está "codificada em base64", selecione Base64 para a codificação da chave em vez de aplicar hash na string Base64 literal como texto UTF-8: as duas produzem assinaturas completamente diferentes.
Escolhendo um Formato de Saída: Hex vs. Base64
A saída hexadecimal é mais longa, mas fácil de ler e comparar visualmente, e é o formato usado pela maioria das ferramentas de depuração e exemplos de documentação. A saída em Base64 é cerca de 25% mais curta, o que importa quando uma assinatura precisa caber em um cabeçalho HTTP como Authorization ou X-Signature.
Use o formato que o sistema receptor espera; este gerador pode produzir hex em minúsculas, hex em maiúsculas ou Base64 sem recalcular nada.
Gere um HMAC para um Arquivo
Mude para a aba Arquivo para calcular um HMAC sobre os bytes brutos de um arquivo em vez de texto digitado, útil para assinar downloads, verificar pacotes de software ou autenticar arquivos enviados antes de chegarem a um servidor.
O arquivo nunca sai do seu dispositivo: ele é lido e processado localmente no seu navegador e depois descartado.
Verifique e Compare uma Assinatura HMAC
Cole um valor HMAC que você recebeu no campo de comparação, e esta ferramenta o verifica contra a assinatura que acabou de calcular, para que você possa confirmar se um payload de webhook ou resposta de API é autêntico sem escrever código.
No modo "Todos os algoritmos", a comparação verifica todas as variantes de uma vez, o que é útil quando você não tem certeza de qual função de hash o remetente usou.
Casos de Uso Comuns do HMAC
O HMAC aparece em qualquer lugar onde duas partes precisam confiar em uma mensagem sem expor o segredo que a protege:
Assinatura de Requisições de API
Serviços como AWS, Stripe e muitas APIs REST assinam cada requisição com um HMAC para que o servidor possa confirmar que ela não foi alterada ou falsificada em trânsito.
Verificação de Webhooks
Processadores de pagamento e plataformas SaaS anexam um cabeçalho de assinatura HMAC aos payloads de webhooks, permitindo que seu endpoint rejeite qualquer coisa que não venha do serviço real.
JSON Web Tokens (HS256)
O algoritmo HS256 usado em muitos JWTs é, na verdade, HMAC-SHA256, assinando o cabeçalho e o payload do token com um segredo do lado do servidor.
Transferência Segura de Arquivos e Dados
Sistemas que trocam arquivos ou backups costumam anexar um HMAC para que o destinatário possa detectar adulteração ou corrupção antes de confiar no conteúdo.
Boas Práticas de Segurança para HMAC
Alguns hábitos mantêm as assinaturas HMAC confiáveis:
Use uma Chave Secreta Longa e Aleatória
Uma chave curta ou previsível compromete a segurança do HMAC independentemente do algoritmo; gere chaves com uma fonte aleatória criptograficamente segura, idealmente com o mesmo tamanho da saída do hash.
Prefira SHA-256 ou Superior
Reserve MD5, SHA-1 e RIPEMD-160 para compatibilidade com sistemas existentes, e use por padrão HMAC-SHA256 ou HMAC-SHA512 em novas integrações.
Rotacione as Chaves Periodicamente
Trate os segredos HMAC como senhas: rotacione-os periodicamente e imediatamente se uma chave puder ter sido exposta.
Compare Assinaturas em Tempo Constante
Ao verificar valores HMAC em um servidor, use uma função de comparação em tempo constante para evitar vazar informações de tempo que possam ajudar um invasor a adivinhar a assinatura correta.
Segurança do Lado do Cliente e Ferramentas Relacionadas
Todos os cálculos nesta página, incluindo geração de HMAC, análise de chaves e hash de arquivos, são executados localmente no seu navegador usando JavaScript. Sua mensagem, chave secreta e qualquer arquivo enviado nunca são transmitidos aos nossos servidores ou a terceiros.
Perguntas Frequentes (FAQ)
Perguntas Frequentes