Gerador de HMAC
HMAC é o algoritmo por trás da maioria dos webhooks assinados, cabeçalhos AWS Signature v4 e tokens JWT HS256. Insira uma mensagem e uma chave secreta, escolha uma família de hash, e este gerador produz o HMAC exatamente como especificado na RFC 2104, útil para verificar o que seu backend está prestes a enviar ou reproduzir uma assinatura que você recebeu de uma API.
Como calcular um HMAC
-
1
Cole a mensagem
Os bytes exatos a serem assinados, um payload de webhook, uma solicitação canônica ou qualquer string.
-
2
Insira a chave secreta
Pode ser texto ou hexadecimal. O gerador preenche ou faz hash para o tamanho do bloco conforme a RFC.
-
3
Escolha o algoritmo de hash
SHA-256 é o padrão; escolha SHA-1, SHA-384, SHA-512 ou MD5 para compatibilidade legada.
-
4
Copie a assinatura
A saída é hexadecimal minúscula, pronta para colar em uma configuração de webhook ou em um cabeçalho de autorização.
HMAC nos bastidores
HMAC envolve uma função de hash simples em uma construção com chave para que a assinatura não possa ser forjada sem a chave.
A receita da RFC 2104
HMAC(k, m) = H((k' ⊕ opad) ∥ H((k' ⊕ ipad) ∥ m))
onde k' é a chave preenchida para o tamanho do bloco de hash, opad = 0x5c repetido e ipad = 0x36 repetido.
Opções de algoritmo
| Algoritmo | Tamanho do bloco | Comprimento da saída | Recomendado para |
|---|---|---|---|
| HMAC-SHA-256 | 64 bytes | 32 bytes | Padrão moderno, assinatura de webhook |
| HMAC-SHA-384 | 128 bytes | 48 bytes | Assinatura de API de maior segurança |
| HMAC-SHA-512 | 128 bytes | 64 bytes | Tokens de longa duração |
| HMAC-SHA-1 | 64 bytes | 20 bytes | Legado (AWS S3 v2, OAuth 1.0) |
| HMAC-MD5 | 64 bytes | 16 bytes | Apenas legado; evite para novos trabalhos |
Onde o HMAC aparece
- Webhooks do GitHub, Stripe, Shopify: cabeçalho
X-Hub-Signature-256,Stripe-Signature, etc. - AWS Signature v4: uma cadeia de HMAC-SHA256 sobre a solicitação canônica.
- JWT HS256: a assinatura do token é
HMAC-SHA-256(header.payload, secret). - Tokens de redefinição de senha: HMAC sobre user_id + expiração + um segredo do site.
Erros comuns
- Passar uma chave codificada em hexadecimal como texto em vez de decodificá-la para bytes primeiro.
- Assinar os bytes do payload errado: alguns webhooks assinam o corpo da solicitação bruta incluindo espaços em branco, outros assinam uma forma canônica.
- Usar
==em JavaScript ou Python para comparar assinaturas; sempre use uma comparação segura em tempo para resistir a ataques de tempo.
Perguntas frequentes
Quase sempre porque os bytes da mensagem diferem. Assinar o corpo analisado em JSON introduz mudanças de espaço em branco; assine o corpo da solicitação bruta. Também verifique se a chave é decodificada da mesma forma (hex vs bytes brutos) em ambos os lados.
Sim. Se a chave for mais curta que o tamanho do bloco de hash, ela é preenchida com zeros; se for mais longa, é feita hash primeiro. A RFC 2104 recomenda chaves com pelo menos o comprimento da saída (32 bytes para SHA-256).
O HMAC ainda é resistente a ataques conhecidos de colisão do MD5 porque o ataque não se transfere para a construção do HMAC. Ainda assim, use HMAC-SHA-256 para qualquer novo código, ferramentas e auditores esperam isso.
Sim. A mensagem e a chave secreta são enviadas ao nosso servidor por uma conexão HTTPS criptografada para que o HMAC seja calculado. Elas são usadas apenas para o cálculo e não são armazenadas nem registradas.
Ferramentas relacionadas
Gerador de MD5
Gere um hash MD5 a partir de qualquer texto ou arquivo. Saída de 128 bits em hexadecimal, calculada inteiramente no seu navegador.
Gerador de frase-senha
Gere uma frase-senha memorizável com palavras comuns aleatórias, com número de palavras ajustável, separador, maiúsculas e um número opcional no fim.
Gerador de Hash
Gere hashes MD5, SHA-1, SHA-256, SHA-384, SHA-512 e CRC32 a partir de texto, com um digest pronto para copiar em checksums e comparações.
Gerador de Hash MD5
Calcule checksums MD5 de textos e arquivos para verificação de integridade. Corresponde à saída de md5sum e openssl dgst -md5.
Cifra de número para letra
Converta números em letras e vice-versa usando a cifra A=1, B=2 (A1Z26) para quebra-cabeças, enigmas e pistas de salas de fuga.
Verificador de Força de Senha
Verifique a força da senha no seu navegador: comprimento, variedade de caracteres, entropia em bits e uma estimativa aproximada do tempo de quebra. Nada é enviado.
Ferramenta disponível em outros idiomas
- HMACジェネレーター [JA]
- HMAC-generator [SV]
- HMAC Generator [ID]
- HMAC 생성기 [KO]
- Générateur HMAC [FR]
- HMAC-generator [NL]
- Bộ tạo HMAC [VI]
- HMAC-Generator [DE]
- مولّد HMAC [AR]
- ตัวสร้าง HMAC [TH]
- Generator HMAC [PL]
- Generador de HMAC [ES]
- Generatore HMAC [IT]
- HMAC Generator [EN]
- Генератор HMAC [RU]
- HMAC Jeneratörü [TR]
- HMAC 生成器 [ZH]