Hash de arquivo SHA-256: como verificar integridade com segurança

Entenda como hashes SHA-256 ajudam a verificar a integridade de arquivos, a diferença entre hash e criptografia, como conferir um download e os cuidados ao calcular hash no navegador.

Revisado pela equipe editorial ValorFinalFIPS 180-4 (SHA-2) / MDN (Web Crypto) / NIST

O hash de um arquivo é uma impressão digital: uma sequência de tamanho fixo que representa o conteúdo. Se um único byte do arquivo mudar, o hash muda por completo. Por isso o SHA-256 é a forma mais comum de verificar se um download chegou íntegro e não foi adulterado. Neste guia você entende o que é hash, por que ele não é criptografia, como conferir um download e quais cuidados tomar ao calcular hash no navegador. Para calcular o SHA-256, SHA-384 e SHA-512 de um arquivo localmente, use as ferramentas DevOps.

O que é hash

Uma função de hash recebe uma entrada de qualquer tamanho e devolve um resumo de tamanho fixo. Boas funções de hash têm propriedades importantes: a mesma entrada sempre gera o mesmo resultado; é inviável partir do resumo e reconstruir a entrada; e mudanças mínimas na entrada produzem resumos completamente diferentes, o chamado efeito avalanche. Essas características tornam o hash ideal para verificar se dois conteúdos são idênticos sem compará-los byte a byte.

O que é SHA-256

SHA-256 faz parte da família SHA-2, definida em padrões reconhecidos de segurança. Ela gera um resumo de 256 bits, exibido como 64 caracteres hexadecimais. É rápida, amplamente suportada e considerada segura contra colisões nas condições atuais, o que a torna a escolha padrão para verificação de integridade. Variações como SHA-384 e SHA-512 produzem resumos maiores, úteis quando se deseja uma margem extra.

Hash não é criptografia reversível

Este é o ponto que mais gera confusão. Criptografia protege o conteúdo de forma reversível: com a chave certa, você recupera o original. Hash é de mão única: não existe chave que desfaça o resumo de volta para o arquivo. Logo, hash não serve para guardar algo que você precise ler depois, e sim para verificar e comparar. Para codificar conteúdo de forma reversível em texto, o que também não é criptografia, existe o Base64, explicado adiante.

Para que serve o hash de arquivo

O uso mais comum é a verificação de integridade. Projetos sérios publicam, ao lado do link de download, o hash SHA-256 do arquivo. Você baixa, calcula o hash localmente e compara com o publicado. Se baterem, o arquivo está íntegro. Se diferirem, algo deu errado: download corrompido, interrompido ou, no pior caso, adulterado. Hashes também aparecem em assinaturas, em controle de versão e em deduplicação de dados.

Verificação de download passo a passo

Vale obter o hash oficial de uma fonte confiável, idealmente por um canal diferente do próprio download, para reduzir o risco de o hash também ter sido adulterado.

Hash de texto e hash de arquivo

A função é a mesma, muda a entrada. O hash de texto resume uma string, útil para comparar valores ou indexar. O hash de arquivo resume o conteúdo binário inteiro do arquivo. Para hash de texto rápido, o gerador de hash SHA calcula a partir de um texto colado. Para hash de arquivo, as ferramentas DevOps leem o arquivo localmente.

Cuidados com arquivos grandes

Calcular o hash de um arquivo grande exige ler todo o conteúdo, o que pode demorar e consumir memória no navegador. Por isso é comum haver um limite de tamanho na ferramenta web. Para arquivos muito grandes, ferramentas de linha de comando do sistema, como sha256sum no Linux ou certutil no Windows, são mais eficientes.

Por que calcular localmente no navegador

Quando o cálculo usa a Web Crypto API, o arquivo é processado no seu dispositivo e não passa por upload. Isso é importante para conteúdo sensível: você verifica a integridade sem expor o arquivo a um servidor. Ferramentas que enviam o arquivo para a nuvem só para calcular o hash adicionam um risco desnecessário. Para entender o Base64, citado antes, veja o codificador Base64.

Exemplo prático

Suponha que você baixou uma imagem de instalação e o site informa o SHA-256 oficial. Você calcula o hash do arquivo baixado e obtém uma sequência de 64 caracteres. Basta comparar com a publicada: se forem idênticas, a instalação pode prosseguir com confiança; se houver qualquer diferença, descarte o arquivo e baixe novamente de uma fonte confiável.

Colisões, MD5 e por que escolher SHA-256

Uma colisão acontece quando duas entradas diferentes produzem o mesmo hash. Funções de hash seguras tornam isso inviável de provocar na prática. É justamente por aí que algoritmos antigos perderam a confiança: o MD5 e o SHA-1, ainda comuns em sistemas legados, têm colisões conhecidas e não devem ser usados quando a segurança importa. Para verificação de integridade e usos sensíveis, prefira SHA-256 ou superior.

Há uma diferença importante entre verificar integridade e verificar autenticidade. O hash sozinho confirma que o arquivo não mudou em relação àquele resumo, mas não prova quem o gerou. Para garantir autoria, entram as assinaturas digitais, que combinam hash com criptografia de chave pública. Quando um projeto disponibiliza, além do hash, uma assinatura, vale conferir as duas coisas para ter integridade e autenticidade.

No dia a dia, a regra prática é simples: baixe de fontes oficiais, pegue o hash da mesma fonte oficial, de preferência por um canal diferente, e compare. Para senhas, o tema é parecido mas com cuidados próprios: sistemas sérios não guardam a senha em texto nem um hash simples, e sim um hash lento com sal, projetado para resistir a ataques. Entender hash ajuda a reconhecer boas e más práticas de segurança ao seu redor.

Por fim, organize a comparação para não errar na conferência. Hashes têm 64 caracteres em SHA-256, e comparar visualmente caractere a caractere é cansativo e sujeito a engano. Prefira copiar o hash oficial e colá-lo ao lado do calculado, ou use uma busca que destaque diferenças. Muitos enganos acontecem por conferir só o início e o fim da sequência: uma adulteração no meio passaria despercebida. A regra é simples: ou os dois hashes são exatamente iguais, do primeiro ao último caractere, ou o arquivo não é o mesmo.

Quando usar a ferramenta do ValorFinal

Use as ferramentas DevOps para calcular o hash SHA-256, SHA-384 e SHA-512 de um arquivo localmente, sem upload. Para hash de texto, use o gerador de hash SHA. Conheça as demais ferramentas de tecnologia.

Calculadoras deste guia

Como validamos os cálculos

Os valores citados neste guia são estimativos e baseados em fontes oficiais (FIPS 180-4 (SHA-2) / MDN (Web Crypto) / NIST). Eles podem variar conforme convenção coletiva, situação individual e atualizações da legislação. Entenda nossa metodologia em como validamos os cálculos.

Perguntas frequentes

O que é um hash?
Hash é o resultado de uma função que transforma qualquer entrada em uma sequência de tamanho fixo, chamada resumo. A mesma entrada gera sempre o mesmo hash, e qualquer alteração mínima muda completamente o resultado. Hashes servem para verificar integridade, indexar dados e armazenar verificações, mas não são pensados para esconder e depois recuperar o conteúdo.
O que é SHA-256?
SHA-256 é uma função de hash da família SHA-2, que produz um resumo de 256 bits, normalmente exibido como 64 caracteres hexadecimais. É amplamente usada para verificação de integridade de arquivos e em diversas aplicações de segurança, por ser rápida e considerada robusta contra colisões na prática atual.
Hash é criptografia?
Não. Criptografia é reversível com a chave certa: você cifra e depois decifra. Hash é de mão única: a partir do resumo não dá para recuperar a entrada original. Por isso hash serve para verificar e comparar, não para guardar algo que precise ser lido de volta. Confundir os dois leva a erros graves de segurança.
Para que serve o hash de um arquivo?
Para confirmar que o arquivo não foi alterado nem corrompido. Quem publica um download costuma divulgar o hash SHA-256 oficial. Você calcula o hash do arquivo baixado e compara: se forem iguais, o arquivo está íntegro; se forem diferentes, houve corrupção no caminho ou adulteração.
Hashes iguais garantem que o arquivo é confiável?
Garantem que o arquivo é idêntico ao que gerou aquele hash. Mas a confiança depende da origem do hash: se você pegou o hash do mesmo lugar que poderia ter sido comprometido, a verificação perde valor. Por isso, obtenha o hash de uma fonte oficial e confiável, de preferência por um canal diferente do download.
É seguro calcular o hash de um arquivo em um site?
Depende de onde o cálculo acontece. Em ferramentas que usam a Web Crypto API do navegador, o arquivo é lido localmente e não passa por upload, então não sai do seu dispositivo. Evite serviços que enviam o arquivo para um servidor quando o conteúdo for sensível. Para arquivos muito grandes, o cálculo local pode demorar e consumir memória.