— Sobre esta ferramenta
O HMAC (Hash-based Message Authentication Code) combina uma mensagem com uma chave secreta e uma função de hash para produzir uma assinatura que comprova tanto a integridade quanto a autenticidade da mensagem. Qualquer pessoa que compartilhe o segredo pode recalcular o HMAC e confirmar que a mensagem não foi adulterada — é o mecanismo por trás das assinaturas de webhook (Stripe, GitHub, Slack), dos cookies assinados e de muitos esquemas de autenticação de API.
Digite sua mensagem e seu segredo, escolha o algoritmo de hash e a codificação de saída, e a assinatura é atualizada conforme você digita. Ela é calculada com a Web Crypto API no seu navegador, então nem a mensagem nem o segredo são enviados a um servidor. Use SHA-256, a menos que uma integração específica exija outra coisa.
A mensagem e o segredo nunca saem do seu navegador — o HMAC é calculado localmente com a Web Crypto API.
Perguntas frequentes
Qual é a diferença entre um HMAC e um hash simples?
Um hash simples (como o SHA-256) qualquer pessoa pode calcular apenas a partir da mensagem, então ele comprova somente a integridade. Um HMAC também incorpora uma chave secreta, de modo que uma assinatura válida também comprova que o remetente conhecia o segredo — é isso que o torna útil para autenticação.
Qual algoritmo devo usar?
O SHA-256 é a escolha padrão e o que a maioria das APIs espera. O SHA-384 e o SHA-512 oferecem saídas maiores; o SHA-1 é suportado para integrações legadas, mas não é mais recomendado para novos sistemas.
É melhor a saída em hex ou em Base64?
Ambas codificam os mesmos bytes — escolha a que sua integração espera. Os provedores de webhook geralmente especificam uma; por exemplo, o GitHub usa hex, enquanto alguns outros usam Base64.