O que é um hash? MD5, SHA-256 e quando você realmente precisa de HMAC
As funções hash transformam qualquer entrada em uma impressão digital de comprimento fixo, mas nem todos os hashes são criados iguais. Escolher entre MD5, SHA-256 e HMAC significa a diferença entre uma verificação de segurança funcional e uma que falha silenciosamente. Este guia explica o que cada um faz, quando usá-lo e como verificar seus próprios hashes diretamente no seu navegador.
O que é uma função hash?
Uma função hash pega qualquer quantidade de dados – texto, um arquivo, uma senha – e produz uma sequência de caracteres de comprimento fixo. A mesma entrada sempre produz a mesma saída, o que torna os hashes úteis para verificação. Altere pelo menos um caractere na entrada e o hash muda completamente. Essa propriedade unidirecional (você não pode reverter um hash para recuperar os dados originais) é o que a torna útil para segurança.
MD5: rápido, mas quebrado
MD5 produz um hash de 128 bits e já foi o padrão para somas de verificação e verificação de arquivos. Hoje ele está criptograficamente quebrado – colisões (duas entradas diferentes produzindo o mesmo hash) são fáceis de encontrar. MD5 ainda aparece em sistemas legados e para somas de verificação não relacionadas à segurança, mas nunca para autenticação ou senhas. Use o Gerador de hash para ver a saída MD5, mas use SHA-256 para qualquer coisa que importe.
SHA-256: o padrão atual
SHA-256 (parte da família SHA-2) produz um hash de 256 bits e é a escolha moderna para trabalho criptográfico. É rápido o suficiente para a maioria dos aplicativos, resistente a ataques conhecidos e amplamente suportado. Você verá SHA-256 usado em sistemas blockchain, impressões digitais de certificados e hash de senha. O Gerador de hash suporta SHA-256 como algoritmo padrão.
HMAC: quando você precisa de um segredo
Uma função hash simples é determinística – qualquer pessoa pode verificar o hash. Um HMAC (Código de autenticação de mensagem baseado em hash) combina uma chave secreta, de modo que apenas alguém que conheça a chave possa produzir o hash correto. Isso é essencial para APIs: o servidor e o cliente compartilham um segredo, cada um assina suas mensagens com ele e o destinatário verifica se a assinatura corresponde. Isso prova que a mensagem veio do remetente reivindicado e não foi adulterada. O Gerador HMAC permite testar isso com sua própria chave secreta.
Quando usar cada abordagem
- Use simples
SHA-256para verificações de integridade de arquivos, hash de senha (com salt e uma função lenta como bcrypt) e impressão digital pública. - Usar
HMACpara assinatura de solicitação de API, verificação de webhook e qualquer cenário em que ambas as partes compartilhem um segredo. - Pular
MD5para qualquer coisa relacionada à segurança. Use-o somente ao interagir com sistemas legados que o exijam.
Seus dados permanecem no seu dispositivo
Tanto o Gerador de hash e Gerador HMAC execute inteiramente no seu navegador. Seu texto nunca é enviado para um servidor – ele é criptografado localmente no seu dispositivo, funciona offline após o carregamento da página e não requer conta ou login. Isso significa que você pode fazer hash com segurança de informações confidenciais, como chaves de API, para teste, sem expô-las à Internet.
Bônus: medir a entropia
Se você estiver gerando segredos ou senhas, o Entropia de Shannon a calculadora mostra quanta aleatoriedade (e, portanto, segurança) existe em uma string. Entropia mais alta significa mais difícil de adivinhar. Use-o para verificar se os segredos gerados são realmente aleatórios antes de implantá-los.