Glossário

O que é HMAC e como ele autentica mensagens

HMAC é uma técnica que combina uma função de hash, como SHA-256, com uma chave secreta para gerar um código que prova a autenticidade e a integridade de uma mensagem. Só quem conhece a chave consegue produzir ou conferir esse código, então ele indica que a mensagem veio de quem deveria e não foi adulterada.

Por que um hash simples não basta

Um hash comum verifica integridade, mas qualquer um pode recalculá-lo, então não prova quem gerou a mensagem. Se um atacante altera o conteúdo, ele também refaz o hash e ninguém percebe. O HMAC resolve isso misturando uma chave secreta ao cálculo do hash. Sem a chave, é inviável produzir o código correto para um conteúdo modificado. Assim o HMAC junta as duas garantias: a mensagem chegou íntegra e foi assinada por quem tem a chave, algo que o hash puro não oferece.

Onde o HMAC é usado

O HMAC aparece em APIs que assinam requisições, em webhooks que precisam provar a origem, em tokens e em cookies de sessão. É a base da assinatura de um JWT no modo HS256, por exemplo. Como usa uma chave compartilhada entre as duas pontas, é chamado de criptografia simétrica de autenticação. Não confunda com sigilo: o HMAC não esconde o conteúdo da mensagem, apenas garante que ela é autêntica. Para proteger o conteúdo, é preciso cifrar os dados à parte.

Ferramentas relacionadas

Ferramentas relacionadas a HMAC

Fez um site com IA e quer que alguem cuide dele? Converse comigo - Ygor Andrade, Desenvolvedor e Especialista em Solucoes Web