O que um checksum diz
Um checksum é uma impressão digital curta calculada a partir de cada byte de um arquivo. Se o checksum do seu download bater com o publicado pelo desenvolvedor, o arquivo é idêntico ao dele. Se um único byte for diferente, porque o download foi interrompido ou alguém alterou o arquivo, o checksum fica totalmente diferente.
No navegador
- Abra o Gerador de hash.
- Escolha o arquivo baixado. Os hashes são calculados no seu computador.
- Cole o checksum publicado em "Comparar com". A confirmação aparece na hora.
No Windows
No Prompt de Comando:
certutil -hashfile arquivo.iso SHA256
Ou no PowerShell, que usa SHA-256 por padrão:
Get-FileHash arquivo.iso
No Mac
shasum -a 256 arquivo.iso
No Linux
sha256sum arquivo.iso
MD5 e SHA-1
Alguns sites ainda publicam checksums MD5 ou SHA-1. Eles servem para detectar um download corrompido, mas não uma adulteração proposital, porque é possível fabricar arquivos falsos que batem. Prefira o SHA-256 quando ele estiver disponível.
Um exemplo prático
Crie um arquivo de texto que contenha só a palavra hello, sem quebra de linha no fim. O checksum SHA-256 dele é
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
Aperte Enter depois da palavra e salve de novo. O arquivo fica um byte maior, e o checksum passa a ser
5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03
O segundo hash não lembra em nada o primeiro. É para isso que serve um checksum: qualquer mudança, por menor que seja, dá um resultado completamente diferente.
Problemas comuns
- Os hashes quase batem. Não existe "quase". Ou todos os caracteres batem ou os arquivos são diferentes. Compare a sequência inteira, não só os primeiros e os últimos caracteres. Maiúsculas e minúsculas contam como iguais.
- Você comparou com o arquivo errado. As páginas de download costumam listar vários checksums: instalador, imagem de disco, 32 e 64 bits. Confira também o nome do arquivo.
- O checksum fica ao lado do download. Ele prova que o arquivo não se danificou no caminho. Se o próprio servidor fosse invadido, os dois poderiam ter sido trocados. Projetos que assinam os arquivos de checksum (
.ascou.sig) permitem verificar a assinatura com GPG para descartar isso.