Ir para o conteúdo
TextArray
Totalmente local

Gerador HMAC

Calcule assinaturas HMAC-SHA256, SHA-1, SHA-384 ou SHA-512 com uma chave secreta.

Entrada

Gerador HMAC

Um HMAC é um hash com chave: a mensagem e uma chave secreta vão juntas, e somente alguém que possua a mesma chave pode reproduzir ou verificar o resultado. É isso que os provedores de API usam para assinar solicitações e o que remetentes de webhook, como plataformas de pagamento e serviços de hospedagem de código, anexam a cada entrega, para que o destinatário possa provar que a carga realmente veio deles e não foi alterada em trânsito.

Insira a chave secreta, escolha o algoritmo que o outro lado usa – SHA-256 é o padrão esmagador – e cole a mensagem. O resumo aparece como hexadecimal minúsculo ou como Base64, correspondendo aos dois formatos em que as assinaturas são trocadas. Ative o HMAC por linha para assinar cada linha de entrada separadamente, o que se adequa a uma coluna de tokens ou IDs. Os desenvolvedores buscam isso ao depurar um manipulador de webhook que rejeita assinaturas, reproduzir um exemplo de documentação ou gerar um vetor de teste para um teste de unidade.

Tanto a chave quanto a mensagem são consideradas bytes UTF-8, exatamente como faz a maioria dos SDKs de servidor. Quando o resultado não corresponde ao outro lado, a causa quase sempre são bytes, não matemática: uma nova linha final na carga útil, finais de linha CRLF, saída hexadecimal comparada com Base64 ou uma chave que o serviço fornece codificada em Base64 ou hexadecimal e espera decodificada antes do uso.

O campo-chave é mascarado e nunca é deliberadamente gravado no armazenamento do seu navegador. Tudo é executado localmente por meio do WebCrypto integrado ao navegador – colar um segredo de assinatura em uma ferramenta HMAC on-line normalmente o entrega a esse servidor, e aqui ele nunca sai do seu dispositivo.

FAQ

Para que é usado um HMAC?
Provar que uma mensagem vem de alguém que detém o segredo compartilhado e não foi modificado ao longo do caminho. Usos típicos: assinatura de solicitações de API, verificação de entregas de webhook de plataformas de pagamento e hospedagem e assinatura de tokens. O receptor recalcula o HMAC com a mesma chave e compara.
Qual a diferença entre o HMAC e um hash simples?
Um SHA-256 simples de uma mensagem pode ser computado por qualquer pessoa, portanto não prova nada sobre o remetente. Um HMAC mistura uma chave secreta na computação de uma forma que resiste à adulteração – sem a chave você não pode falsificar uma assinatura válida nem verificá-la. É também por isso que o HMAC-SHA1 permanece aceitável na prática, embora o SHA-1 simples seja quebrado devido a colisões, embora novos designs ainda devam escolher o SHA-256.
Por que meu HMAC não corresponde ao que o servidor envia?
Quase sempre os bytes são diferentes. Verifique se há uma nova linha final na carga útil, finais de linha CRLF versus LF, hexadecimal comparado com Base64 e o formato da chave - muitos serviços entregam a você o segredo codificado em Base64 ou hexadecimal e esperam os bytes decodificados como a chave. Esta ferramenta usa a chave exatamente como digitada, como UTF-8.
Alguém pode recuperar minha chave de um HMAC?
Nenhum ataque prático recupera a chave dos resumos. Mas qualquer pessoa que possua a chave pode assinar mensagens arbitrárias, portanto, trate os segredos de assinatura como senhas: gire um segredo do webhook se ele tiver vazado e nunca envie-o para um repositório.
Minha chave e texto são carregados em algum lugar?
Não. O HMAC é calculado pelo WebCrypto integrado ao seu navegador, o campo-chave nunca é gravado no armazenamento e nem a chave nem o texto saem do seu dispositivo.