Gerador de HMAC
HMAC Generator
Calcula um HMAC sobre uma mensagem com hash e codificação da chave escolhidos, para conferir assinaturas de webhooks.
Calcula um HMAC — um digest com chave — sobre um texto ou um arquivo, com a chave lida como texto, hexadecimal ou Base64. É a mesma tela da ferramenta de hash com a metade HMAC ligada, porque um HMAC é um hash com uma chave e separá-los significaria duas páginas que compartilham todos os controles.
Entrada
Solte um arquivo para tirar o checksum
Lido nesta aba. Nada é enviado.
O texto é hasheado como bytes UTF-8, que é o que qualquer outra ferramenta quer dizer com hashear uma string.
Digests
Cole um checksum publicado; a linha que bater acende.
| Algoritmo | Digest | Copiar |
|---|---|---|
| MD5Construir colisões sai barato. Serve como checksum, não para assinaturas nem senhas. | ||
| SHA-1Colisões já foram demonstradas. Serve para um checksum antigo, não para nada novo. | ||
| SHA-256 | ||
| SHA-384 | ||
| SHA-512 | ||
| CRC-32É um código detector de erro, não um hash. Dois arquivos podem cair no mesmo valor por acidente, que dirá de propósito. |
Entrada
0 bytes
Origem
caixa de texto
Como usar
Ligue o HMAC
O campo de chave aparece, e o CRC-32 sai da tabela: é um checksum, não uma função de hash, e não tem HMAC.
Diga como a chave deve ser lida
É aqui que os HMACs normalmente dão errado. Uma chave escrita como `0a1b2c` são três bytes como hexadecimal e seis como texto, e as duas produzem digests completamente diferentes.
Compare com a assinatura que te mandaram
Cole na caixa de comparação; a linha que casar acende. As assinaturas de webhook do Stripe, do GitHub e do Slack são todas HMAC-SHA256 sobre uma string específica, então acertar a mensagem importa tanto quanto a chave.
Perguntas frequentes
Por que meu HMAC não bate com o do cabeçalho?
Normalmente é a mensagem, não a chave. Uma assinatura de webhook é calculada sobre uma string exata — muitas vezes o timestamp, um separador e o corpo cru —, e um corpo que passou por um parser JSON e foi reserializado é outra string. Assine os bytes que você recebeu.
HMAC é o mesmo que fazer o hash da chave e da mensagem juntas?
Não, e esse é o sentido dele. `hash(chave + mensagem)` é vulnerável a um ataque de extensão de comprimento em MD5, SHA-1 e SHA-256; a construção de duas passagens do HMAC, com o padding interno e o externo, é o que elimina isso. Nunca construa o seu.
A chave sai da aba?
Não. Ela é usada para importar uma chave WebCrypto nesta aba e nada mais: não é transmitida, não é armazenada, não vai para a URL. Recarregar a página a perde, que é o comportamento correto para um segredo.
Que comprimento a chave deve ter?
Pelo menos o do digest: 32 bytes para SHA-256. O HMAC aceita qualquer comprimento, mas uma chave maior que o tamanho do bloco passa primeiro por um hash, e uma chave curta é simplesmente uma chave curta: a segurança é a entropia que você coloca.
Pode receber de
Hash de texto
Text Hash
Calcula MD5, SHA-1, SHA-256, SHA-384, SHA-512 e CRC-32 de uma string, com opção de saída em maiúsculas e Base64.
Gerador de código TOTP
TOTP Code Generator
Transforma um segredo TOTP no código de seis dígitos atual com contagem regressiva, para testar configurações de 2FA — o segredo fica na aba.
Gerador de chave aleatória
Random Key Generator
Gera bytes aleatórios criptográficos como hex, Base64 ou Base64URL no comprimento escolhido, para segredos de aplicação.
Formatador e validador de JSON
JSON Formatter & Validator
Formata, minifica e valida JSON, apontando a linha e a coluna exatas de um erro de sintaxe.
Em seguida
Estas aceitam o que esta ferramenta produz, então o resultado pode ir direto.
Hash de texto
Text Hash
Calcula MD5, SHA-1, SHA-256, SHA-384, SHA-512 e CRC-32 de uma string, com opção de saída em maiúsculas e Base64.
Decodificar JWT
JWT Decoder
Decodifica header e payload, mostra a expiração das claims em hora local e verifica a assinatura com uma chave fornecida — sem enviar o token a lugar nenhum.
Gerador de chave aleatória
Random Key Generator
Gera bytes aleatórios criptográficos como hex, Base64 ou Base64URL no comprimento escolhido, para segredos de aplicação.
Codificar e decodificar Base64
Base64 Encoder & Decoder
Codifica e decodifica Base64 e Base64URL para texto ou arquivos, tratando UTF-8 corretamente.
curl para código
curl to Code
Converte um comando curl em fetch, axios, Python requests, Go, PHP ou PowerShell.
JSON ⇄ CSV conversor
JSON ⇄ CSV
Achata JSON aninhado em colunas ou reconstrói objetos a partir de uma tabela, com uma regra de nome de coluna por caminho com pontos.