Gerador HMAC (Calcular HMAC-SHA256 no Navegador)
Uma ferramenta de cálculo HMAC para gerar HMAC-SHA256 aqui mesmo. Chaves e entradas não são enviadas nem armazenadas.
Suporta entradas Texto/Hex/Base64 e saídas Hex/Base64. Calcula com segurança usando a API Crypto padrão do navegador.
Entrada e Saída
Esta página realiza cálculos inteiramente no navegador e não envia dados.
* A 'sequência de bytes' conforme especificações de API é importante. Se a chave for binária, insira em Hex/Base64.
Opções
Os resultados mudarão se os códigos de quebra de linha diferirem devido ao SO ou copiar-colar.
Como assinaturas de API assumem 'correspondência exata', manter como está é geralmente recomendado.
Uso
Os 3 passos básicos para criar uma assinatura HMAC.
- 1 Insira a Chave (Selecione Hex / Base64 se a especificação da API for binária)
- 2 Insira a Mensagem (String para assinar / payload)
- 3 Selecione o Formato de Saída (Hex / Base64) e Copie
O HMAC é calculado sobre 'sequências de bytes', não 'strings de caracteres'. Mesmo que pareçam iguais, os resultados serão diferentes se a codificação de caracteres, quebras de linha ou espaços extras diferirem (assume UTF-8).
Exemplos (Vetores de Teste para Verificação)
Clique em 'Carregar Exemplo' para preencher os campos.
Erros Comuns
Os resultados mudam se o tratamento de quebras de linha variar.
Como as assinaturas assumem correspondências exatas, remover espaços pode causar divergências.
O Base64URL tipicamente usa +→-, /→_ e omite =. Verifique as especificações.
Exemplo: Inserir 'deadbeef' como 'string' vs inserir como 'sequência de bytes 0xDE 0xAD...'.
Informação Suplementar
Um mecanismo para criar uma assinatura a partir de uma chave secreta e uma mensagem. Terceiros não podem criar o mesmo resultado sem a mesma chave.
O SHA-256 é um 'hash', o HMAC é um 'hash com chave (assinatura)'.
Usado para assinaturas de API, verificação de Webhooks, detecção de adulteração de requisições, etc.
FAQ
A chave é armazenada?
Não é armazenada. Esta ferramenta calcula no navegador e não envia chaves ou mensagens para um servidor. (※ Como precaução, limpe após usar em um PC compartilhado)
Base64 ou Hex?
Ambos são usados. Você pode selecionar o formato de saída (Hex / Base64 / Base64URL). Escolha de acordo com as especificações da API.
Codificação de Caracteres?
Assume UTF-8. A entrada de texto é convertida para bytes como UTF-8 para o cálculo. Use entrada Hex / Base64 para lidar com binários.
Diferença entre HMAC e hash SHA-256?
O SHA-256 é um 'hash', o HMAC é um 'hash com chave (assinatura)'. O mesmo resultado não pode ser produzido a menos que as chaves coincidam.
A saída não coincide
Causas comuns são (1) Tratamento de chaves (Texto vs Binário), (2) Quebras de linha, (3) Espaços em branco, (4) Base64URL. Verifique os 'Erros Comuns' acima.