Em resumo: um hash é uma impressão de comprimento fixo calculada a partir do seu texto. A mesma entrada produz sempre o mesmo hash, mas mudar um único caractere produz um completamente diferente — justamente o que torna os hashes úteis para detectar se um texto ou arquivo mudou. Este guia explica o que é um hash, qual algoritmo escolher (MD5, SHA-1, SHA-256, SHA-512), como verificar a integridade na prática e os limites de segurança que você nunca deve ignorar.

O hashing transforma um texto de qualquer tamanho — uma palavra, um parágrafo ou um documento inteiro — em uma curta sequência de caracteres hexadecimais. Como o cálculo é determinístico, você pode executá-lo duas vezes e comparar: hashes idênticos significam entrada idêntica byte a byte, e hashes diferentes indicam que algo mudou, mesmo que as duas versões pareçam iguais na tela.

O que é exatamente um hash?

Uma função de hash criptográfica tem três propriedades que importam no dia a dia. É determinística: a mesma entrada dá sempre a mesma saída. É de comprimento fixo: três palavras ou três megabytes produzem um resumo do mesmo tamanho. E apresenta o efeito avalanche: mudar um caractere — até um espaço final — inverte cerca de metade dos bits de saída, então o novo hash parece não ter relação com o anterior.

É essa última propriedade que torna o hash um detector de mudanças confiável: você não consegue comparar a olho dois parágrafos longos e ter certeza de que são idênticos, mas pode comparar dois hashes de 64 caracteres em um segundo.

Qual algoritmo usar?

Os algoritmos comuns diferem sobretudo no comprimento do resumo e em se ainda são considerados seguros:

  • MD5 — resumo de 128 bits, 32 caracteres hexadecimais. Rápido, mas criptograficamente quebrado (existem colisões práticas). Serve para verificações não relacionadas à segurança, como deduplicação; nunca para segurança.
  • SHA-1 — 160 bits, 40 caracteres. Também quebrado por ataques de colisão; sendo aposentado em toda parte.
  • SHA-256 — 256 bits, 64 caracteres. Da família SHA-2 e hoje a escolha padrão sensata para verificações de integridade.
  • SHA-512 — 512 bits, 128 caracteres. Uma margem de segurança maior; útil quando você quer uma folga extra.

Na dúvida, escolha SHA-256: amplamente suportado, rápido em texto e forte o bastante para que uma colisão deliberada não seja uma preocupação realista.

Como verificar a integridade do texto na prática

O fluxo é simples. Cole o texto original no Gerador de Hash e anote o resumo SHA-256. Mais tarde — depois de o texto passar por um e-mail, uma colagem no CMS ou uma cópia entre apps — calcule-o de novo e compare. Se os dois resumos coincidem, nada mudou. Se diferem, uma alteração invisível se infiltrou: uma aspa tipográfica substituída, uma quebra de linha removida ou um espaço final.

É mais confiável que uma revisão visual justamente porque o que quebra a formatação costuma ser o que não se vê.

O que um hash não pode fazer

Hashing não é criptografia. Um hash é unidirecional: você não pode voltar de um resumo SHA-256 ao texto original. Isso também significa que o hashing não oculta nem protege o conteúdo: ele apenas permite detectar mudanças. Dois outros limites merecem ser ditos com clareza:

  • O hash bruto de uma senha não é armazenamento seguro. Senhas exigem uma função lenta e com sal (bcrypt, scrypt, Argon2), não um simples MD5 ou SHA-256.
  • A codificação importa. O mesmo texto visível, com hash em UTF-8 e em UTF-16, ou com e sem quebra de linha final, produz resumos diferentes. Compare o semelhante com o semelhante.

Verificar um arquivo baixado

O uso mais comum na prática é confirmar que um download chegou intacto. Um fornecedor publica o SHA-256 de um instalador; você calcula o checksum do arquivo recebido e compara. Se coincidem, os bytes são idênticos aos distribuídos. Uma divergência quase sempre indica um download corrompido ou incompleto — ou, raramente, um arquivo adulterado. Para arquivos locais, use o Verificador de Checksum de Arquivos, que lê o arquivo no navegador e nunca o envia.

Erros comuns a evitar

  • Usar MD5 ou SHA-1 para algo ligado à segurança — use SHA-256.
  • Confundir hashing com criptografia, ou esperar “decodificar” um hash.
  • Comparar hashes gerados com codificações diferentes ou com espaços perdidos.
  • Armazenar hashes brutos de senhas em vez de uma função dedicada.

Bem usado, um hash é uma das verificações de integridade mais baratas: cole, compare e você sabe com certeza se duas versões coincidem — sem adivinhar e sem que nada saia do seu navegador.