Gerador de HMAC Online
Gere uma assinatura HMAC a partir de uma mensagem e uma chave secreta com SHA-256, SHA-1, SHA-384 ou SHA-512 no seu navegador. Sua chave fica no dispositivo.
O Gerador de HMAC roda inteiramente no seu navegador usando a Web Crypto API. A mensagem que você assina e a chave secreta que você insere nunca saem do seu dispositivo e não são enviadas à ArrayKit.
Abrir o Gerador de Hash
Sobre Gerador de HMAC
O Gerador de HMAC assina uma mensagem com uma chave secreta para produzir um hash com chave — o mesmo código de autenticação que sua API ou webhook usa para provar que um payload não foi adulterado. Digite ou cole a mensagem e o segredo, escolha SHA-256, SHA-1, SHA-384 ou SHA-512, e leia a assinatura de volta tanto em hexadecimal quanto em Base64. A chave pode ser texto UTF-8 simples ou uma cadeia de bytes codificada em hexadecimal, então ela se alinha com o que quer que seu servidor espere. É feito para desenvolvedores verificando assinaturas de webhook, montando cabeçalhos de requisição assinados, testando o esquema HMAC de uma API ou checando um valor contra a saída de uma biblioteca. Tudo é calculado no seu dispositivo com a Web Crypto API — a mensagem e a chave secreta nunca saem do seu navegador.
Recursos
- Assine qualquer mensagem com uma chave secreta e leia o HMAC na hora
- Alterne entre as funções de hash SHA-256, SHA-1, SHA-384 e SHA-512
- Veja a assinatura como hexadecimal minúsculo e Base64 padrão lado a lado
- Insira a chave secreta como texto UTF-8 ou como uma cadeia de bytes codificada em hexadecimal
- Corresponde byte a byte à saída HMAC do lado do servidor e de bibliotecas
- Copie a assinatura hexadecimal ou Base64 com um único clique
- Erro claro quando uma chave hexadecimal tem comprimento ímpar ou caracteres não hexadecimais
- Roda no seu dispositivo via a Web Crypto API, sem nada enviado a lugar nenhum
Como usar Gerador de HMAC
- Escolha o algoritmo de hash que seu serviço usa (SHA-256 é o mais comum)
- Digite ou cole a mensagem que você quer autenticar
- Insira a chave secreta e escolha UTF-8 ou Hexadecimal para casar com o formato dela
- Leia o HMAC como hexadecimal ou Base64 e copie o valor que você precisa
Exemplo
Entrada
message: The quick brown fox jumps over the lazy dog
key: key (UTF-8)
algorithm: SHA-256
Saída
hex: f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
base64: 97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=
HMAC-SHA256 da clássica frase da raposa, com a chave "key".
Erros comuns e solução de problemas
- A assinatura não corresponde à que o meu servidor produz. — Confirme que você escolheu o mesmo hash (SHA-256 vs SHA-1) e o mesmo formato de chave. Uma chave como a0b1c2 é diferente como texto UTF-8 bruto e como bytes hexadecimais — mude o alternador Hexadecimal para casar com o modo que o servidor lê.
- Erro: a chave hexadecimal deve ter um número par de dígitos. — No modo de chave Hexadecimal, cada byte são dois caracteres hexadecimais, então o comprimento da chave deve ser par. Remova qualquer caractere solto ou adicione o dígito faltante, ou mude para o modo UTF-8 se a chave for mesmo texto.
- A API quer a assinatura como Base64 mas eu só tenho o hexadecimal. — Você não precisa converter nada — esta ferramenta mostra a mesma assinatura tanto como hexadecimal quanto como Base64. Copie o valor Base64 direto da segunda linha.
- Uma quebra de linha ou espaços finais mudam o resultado. — O HMAC cobre cada byte da mensagem, então uma quebra de linha ou espaço final produz um código diferente. Assine os bytes exatos que seu serviço envia, sem espaços em branco adicionados.
Perguntas frequentes
- O que este Gerador de HMAC calcula?
- Ele calcula um código de autenticação de mensagem com hash e chave: combina sua mensagem com uma chave secreta sob uma função de hash (SHA-256, SHA-1, SHA-384 ou SHA-512) e retorna a assinatura resultante como hexadecimal e Base64. Qualquer pessoa com a mesma chave pode recalculá-la para verificar a mensagem.
- Devo inserir minha chave como UTF-8 ou hexadecimal?
- Corresponda a como seu serviço armazena a chave. Se o segredo for uma cadeia normal ou uma frase secreta, use UTF-8. Se for uma sequência de bytes hexadecimais (comum para chaves geradas aleatoriamente), mude para Hexadecimal para que os mesmos bytes exatos sejam usados — os dois produzem assinaturas diferentes.
- Qual algoritmo HMAC devo escolher?
- O HMAC-SHA256 é o padrão para a maioria das APIs e webhooks. Escolha SHA-384 ou SHA-512 para uma assinatura mais longa, ou SHA-1 apenas quando você precisar corresponder a um sistema mais antigo, já que o SHA-1 é considerado fraco para novos projetos.
- Como verifico uma assinatura de webhook com isto?
- Cole o payload bruto do webhook como a mensagem, insira o segredo de assinatura compartilhado como a chave, escolha o algoritmo que o provedor documenta e compare a saída hexadecimal ou Base64 com o cabeçalho de assinatura que eles enviaram. Uma coincidência confirma que o payload é autêntico e não modificado.
- Minha mensagem ou chave secreta é enviada para algum lugar?
- Não. O HMAC é calculado no seu navegador com a Web Crypto API. A mensagem que você assina e a chave secreta que você insere nunca saem do seu dispositivo e não são enviadas à ArrayKit ou a qualquer servidor.
- Por que a saída vem tanto em hexadecimal quanto em Base64?
- Serviços diferentes codificam os mesmos bytes de HMAC de formas diferentes — alguns cabeçalhos usam hexadecimal minúsculo, outros usam Base64. Esta ferramenta mostra as duas codificações da assinatura idêntica para você copiar o formato que sua API espera sem converter à mão.
Ferramentas relacionadas
- Gerador de hash — SHA-256 / SHA-1 / SHA-384 / SHA-512 via Web Crypto API.
- Assinador de JWT — Crie e assine um JWT (HS256/384/512) a partir de um payload e um segredo — Web Crypto.
- Decodificador de JWT — Decodifique o cabeçalho e o payload de um JWT e inspecione exp/iat (sem verificação).
- Gerador de Bcrypt — Faça o hash de uma senha com bcrypt em um custo escolhido, ou verifique-a contra um hash, no navegador.
- Gerador de TOTP / 2FA — Gere senhas de uso único baseadas em tempo (códigos 2FA) a partir de um segredo base32.
- Codificar / Decodificar Base64 — Codificação e decodificação Base64 segura em UTF-8.
Todas as ferramentas de ArrayKit