Artigo · Tecnologia prática
Como conferir a integridade de arquivos baixados no Windows e no Linux
Um procedimento conservador para comparar hashes, confirmar a origem do arquivo e evitar instalar um download diferente do esperado.
8 min de leitura
Baixar um arquivo não termina quando a barra de progresso chega ao fim. Antes de abrir um instalador, importar uma imagem de sistema ou executar um pacote, ainda falta responder a duas perguntas: ele veio de uma fonte legítima e chegou inteiro?
Um hash ajuda a conferir se o arquivo local corresponde a uma sequência publicada pelo distribuidor. Ele não prova que o site era legítimo, nem que o programa é seguro. A origem, a assinatura e o contexto continuam sendo partes separadas da verificação.
Comece pela página original
Prefira o site do projeto, do fabricante ou do órgão responsável. Evite baixar executáveis de páginas que apenas agregam links, anúncios ou versões modificadas sem explicar sua procedência. O endereço da página e a data de acesso devem ser registrados quando o arquivo for importante.
Confira também o nome, a extensão e o tamanho aproximado informados na página. Um arquivo chamado manual.pdf.exe não se torna documento porque o sistema escondeu a última extensão. Mostrar extensões conhecidas é uma configuração simples que reduz esse tipo de engano.
O hash publicado precisa estar na mesma página oficial ou em um canal que o projeto reconheça. Uma sequência copiada de um comentário ou de um fórum não é uma referência suficiente.
O que um hash confirma
Um hash criptográfico transforma o conteúdo do arquivo em uma sequência curta. Se um único bit mudar, a sequência resultante normalmente muda bastante. Comparar o hash local com o hash publicado responde se os dois conteúdos são iguais para aquele algoritmo.
Isso não responde:
- se o arquivo foi publicado por quem você imagina;
- se o site original foi comprometido antes de gerar o hash;
- se o programa tem comportamento adequado ao seu uso;
- se o arquivo é compatível com seu sistema;
- se o hash foi copiado sem erro.
Por isso, trate o hash como uma camada de integridade, não como um selo universal de segurança.
Windows com PowerShell
No Windows, o cmdlet Get-FileHash calcula o hash de um arquivo. O exemplo abaixo apenas lê o arquivo; substitua o caminho por um download que você já localizou e não abra o arquivo antes de conferir:
Get-FileHash -LiteralPath "C:\Downloads\arquivo.exe" -Algorithm SHA256
-LiteralPath evita que caracteres do nome sejam tratados como curingas. -Algorithm SHA256 deixa explícito o algoritmo usado. Se a página publicar um SHA-512, use -Algorithm SHA512; não compare algoritmos diferentes.
Depois, compare a sequência exibida com a publicada, sem ignorar caracteres no começo ou no fim. Um hash diferente não é uma “pequena variação”: pare, baixe novamente pela página oficial e verifique se a versão ou o arquivo mudou. Não substitua o valor por outro encontrado em uma busca.
Linux com ferramentas comuns
Em distribuições Linux, sha256sum calcula SHA-256:
sha256sum -- "/home/voce/Downloads/arquivo.iso"
O -- separa opções do nome do arquivo. Isso é útil quando um caminho começa com hífen. Para conferir um arquivo de referências no formato suportado pela ferramenta, também existe:
sha256sum --check arquivo.iso.sha256
Leia o arquivo de soma antes e confirme que ele aponta para o nome esperado. Não trate qualquer arquivo .sha256 baixado de um espelho desconhecido como autoridade.
Hash não é assinatura
Uma assinatura digital pode ligar o arquivo a uma chave pública, desde que a chave tenha sido obtida de um canal confiável e a verificação seja feita corretamente. Em projetos que fornecem assinaturas, siga o procedimento oficial em vez de improvisar uma chave copiada de uma postagem.
Quando a página só oferece um hash por HTTPS, a conferência ainda é útil contra erro de transferência e arquivo incompleto, mas não cobre todos os riscos de uma cadeia de distribuição. A decisão proporcional depende do impacto de abrir o arquivo e da sensibilidade do trabalho.
Se a conferência falhar
Não execute o arquivo para “ver se funciona”. Guarde o nome, o tamanho, o hash encontrado e a URL usada. Procure uma versão mais recente ou uma instrução de correção na documentação oficial. Se a divergência persistir, trate o download como não verificado.
Também evite enviar um arquivo sensível para um scanner online sem avaliar a política de retenção: o conteúdo pode conter documentos pessoais, código privado ou dados de clientes.
O que foi verificado nesta pauta
Os comandos foram descritos a partir da documentação oficial das ferramentas. O exemplo PowerShell não foi executado neste ambiente Linux. O procedimento com sha256sum deve ser testado pelo leitor em uma cópia sem importância antes de ser usado para uma decisão de segurança.
