Ir para o conteúdo
TextArray

O que é um hash? MD5, SHA-256 e quando você realmente precisa de HMAC

Blog /

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

  1. Use simples SHA-256 para verificações de integridade de arquivos, hash de senha (com salt e uma função lenta como bcrypt) e impressão digital pública.
  2. Usar HMAC para assinatura de solicitação de API, verificação de webhook e qualquer cenário em que ambas as partes compartilhem um segredo.
  3. Pular MD5 para 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.