Gerador HMAC (HMAC-SHA256 no navegador)

Uma pagina sem rede para geracao de HMAC SHA256 e verificacao rapida de assinaturas HMAC.

Tudo roda localmente no seu navegador. Chaves e mensagens nunca sao transmitidas nem salvas.

Calculo local Sem armazenamento Hex e Base64
Sem transmissao pela rede

Como usar (HMAC signature)

  1. Insira a chave. Se a especificacao da sua API fornecer bytes binarios da chave, escolha formato de entrada Hex ou Base64.
  2. Insira a mensagem payload a ser assinada.
  3. Escolha o formato de saida (Hex / Base64 / Base64URL) e copie o resultado.
HMAC trabalha com bytes, nao com texto visual. Codificacao UTF-8, diferencas de quebra de linha e espacos extras alteram o resultado.

Exemplos (vetores de teste)

Exemplo 1 (verificacao curta)

Entrada: Chave = secret (UTF-8), Mensagem = message (UTF-8)

HMAC-SHA256 (Hex):
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b

HMAC-SHA256 (Base64):
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=

Exemplo 2 (frase comum)

Entrada: Chave = key, Mensagem = The quick brown fox jumps over the lazy dog

Hex:
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8

Base64:
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

Armadilhas comuns

  • Diferencas entre quebras de linha LF e CRLF produzem assinaturas diferentes.
  • Remover espacos no inicio/fim pode quebrar a correspondencia de assinatura da API.
  • Base64URL geralmente significa trocar + por -, / por _ e omitir padding =. Verifique a especificacao da sua API.
  • Se a chave for distribuida como bytes Hex/Base64, trata-la como texto simples causara divergencias.

FAQ

Minha chave e armazenada?

Nao. Esta ferramenta calcula no seu navegador e nao envia entradas de chave/mensagem a nenhum servidor.

Base64 ou Hex?

Ambos sao comuns. Voce pode escolher saida Hex / Base64 / Base64URL para corresponder a especificacao da sua API.

Qual codificacao de caracteres e usada (UTF-8)?

A entrada de texto e codificada como UTF-8 antes do calculo do HMAC. Para valores binarios, use entrada Hex/Base64.

Qual e a diferenca entre HMAC e hash SHA-256?

SHA-256 e apenas um hash simples. HMAC adiciona uma chave secreta para autenticacao da mensagem.

Minha saida nao corresponde. O que devo verificar?

Verifique interpretacao da chave (texto vs bytes), tratamento de quebra de linha, remocao de espacos e regras de Base64URL.

Complemento

O que e HMAC?

HMAC e um codigo de autenticacao de mensagem baseado em hash com chave, usando uma chave secreta e uma funcao hash.

Diferenca em relacao ao SHA-256

SHA-256 sozinho nao possui chave secreta. HMAC-SHA256 exige uma chave compartilhada e e usado para assinaturas.

Casos de uso tipicos

Assinatura de requisicoes de API, verificacao de webhook e checagem de integridade de token.