Hash & Crypto Helpers

Gerador HMACConfira os bytes da mensagem e da chave

Defina as codificações separadamente e gere um resumo ou verifique diretamente o valor esperado.

Gerador HMAC

Mensagem

Resumo HMAC

Mensagem e chave ficam na memória desta página; não são enviadas nem salvas no armazenamento do navegador.

Opções

Sem remover espaços ou normalizar. Chaves com várias linhas em Hex/Base64; resumo completo sem prefixo de cabeçalho.

Mensagem: 1.000.000 unidades UTF-16 e bytes. Chave: 4.096 unidades UTF-16, não vazia.

Informe uma chave e gere ou verifique. A mensagem pode estar vazia.

O Gerador HMAC ajuda a investigar assinaturas de API que não batem com o servidor. Comece pelo corpo original e pela representação da chave secreta, pois caracteres iguais podem representar bytes diferentes.

Este gerador de HMAC usa HMAC SHA256 por padrão e também oferece SHA-512 e SHA-1. Para verificar uma assinatura de webhook, prepare antes a sequência exata exigida pelo provedor.

Por que usar este Gerador HMAC

Texto não significa bytes Hex

O Gerador HMAC separa a codificação da chave da codificação da mensagem. O texto 6162 ocupa quatro bytes, enquanto Hex 6162 representa dois. Essa diferença basta para alterar o resultado com uma chave aparentemente igual.

Duas representações de chave viram sequências de bytes de comprimentos diferentes antes de assinar a mesma mensagem.

Verifique sem gerar primeiro

A operação usa a mensagem e a chave atuais e aceita uma referência em formato independente. Erros de formato e de tamanho são separados de um resumo completo que simplesmente não corresponde.

Resumos iguais recebem uma marca; a mudança de um byte da mensagem produz blocos diferentes e uma cruz.

Alinhe os dados da assinatura

01

Use o corpo original

Não formate o JSON nem remova espaços antes de assinar. Uma quebra de linha, um BOM ou outra representação Unicode altera os bytes recebidos.

  • Use Hex ou Base64 para bytes que os campos de texto não conseguem preservar.
02

Confira a representação da chave

UTF-8 usa o texto literal, Hex decodifica pares de dígitos e Base64 usa o alfabeto padrão. A chave fica oculta inicialmente.

  • O campo rejeita quebras de linha ao colar ou arrastar e mantém a chave atual. Primeiro codifique chaves com várias linhas em Hex ou Base64.
03

Escolha o formato da referência

A saída e o resumo esperado têm seletores próprios. As operações são manuais; qualquer edição invalida a cópia do resultado anterior.

  • Ctrl/Cmd + Enter verifica no campo de referência e gera nos demais. O atalho não reinicia um cálculo em andamento.

Controle os formatos separadamente

Três comprimentos completos

SHA-256 produz 32 bytes, SHA-512 produz 64 e SHA-1 produz 20. Selecione o algoritmo indicado pela integração. SHA-1 fica disponível para compatibilidade com sistemas existentes.

Entrada textual ou binária

Mensagem e chave aceitam UTF-8, Hex e Base64 padrão. Saída e referência podem usar Hex ou Base64, sem precisar combinar entre si. Maiúsculas e minúsculas equivalem em Hex, mas são distintas em Base64.

Verificação nativa no navegador

Web Crypto calcula e verifica o HMAC. Uma correspondência confirma os bytes e a chave fornecidos; ela não verifica horário, expiração ou repetição de uma requisição capturada anteriormente.

Regras de entrada e limites

Sem correção automática
Não há remoção de espaços, normalização Unicode ou nova serialização de JSON. Hex exige pares sem prefixos ou separadores. Base64 rejeita alfabeto URL, espaços, preenchimento incorreto e bits finais não canônicos; preenchimento corretamente omitido é aceito.
Mensagem vazia é válida
A chave decodificada não pode ser vazia. A mensagem aceita até 1.000.000 unidades UTF-16 e 1.000.000 bytes decodificados; a chave aceita 4.096 unidades UTF-16. Substitutos Unicode isolados são rejeitados.
Somente resumos completos
A referência precisa representar 20, 32 ou 64 bytes conforme o algoritmo. Retire prefixos como sha256= por conta própria. Não há assinaturas truncadas, entrada de arquivo, busca de URL, detecção de algoritmo ou modelos específicos de serviços.
Prévia antes de substituir
Exemplo e Limpar mostram as quantidades substituídas antes de aplicar. Um passo de desfazer restaura entradas, opções e resultado, mantendo a chave anterior na memória da página até a próxima edição. O recurso não gera chaves nem armazena senhas.

Dúvidas sobre o Gerador HMAC

Como gerar HMAC-SHA256 online?

Informe a mensagem e a chave, mantenha SHA-256 e escolha a codificação de cada entrada. Gere o resultado em Hex ou Base64. O Gerador HMAC inclui um exemplo RFC com valor esperado para você conferir o fluxo antes de usar seus próprios dados.

Qual algoritmo HMAC devo usar?

Use o algoritmo definido na documentação da API. SHA-256 é o padrão da página; SHA-512 e SHA-1 estão disponíveis quando a integração exige. Trocar o algoritmo também muda o tamanho da referência necessária.

Como verificar assinaturas de webhook com HMAC?

Obtenha o corpo original e a assinatura recebida, extraia o resumo do cabeçalho e prepare a sequência assinada conforme o provedor. Verifique usando a mesma chave. O aplicativo ainda precisa validar horários, validade e repetição de requisições.

Qual codificação de chave e de saída meu servidor usa?

Confira se a chave é texto literal, bytes em Hex ou Base64. Depois confira a representação da assinatura recebida. A saída do cálculo pode ser Hex e a referência Base64, pois a comparação é entre os bytes decodificados.

Por que a assinatura de autenticação da Shopee não confere?

Em erros de autenticação da Shopee ou de outra API, confira a montagem da sequência assinada: caminho, identificadores e timestamp podem fazer parte dela. Compare essa sequência, a chave e o algoritmo com a documentação. A página não monta nem envia a requisição da plataforma.

Ainda tem uma dúvida?

Comece com uma referência

Use o Gerador HMAC com o exemplo RFC, verifique o resumo e altere um caractere da mensagem para observar a diferença.

Defina as codificações separadamente e gere um resumo ou verifique diretamente o valor esperado.