O jeito rápido
Um checksum é a impressão digital de um arquivo. Mude um único bit e a impressão digital muda por completo, então valores iguais provam que os dois arquivos são idênticos byte a byte. Quem publica imagens de sistema operacional, firmware, gerenciadores de senha, ferramentas de desenvolvimento e drivers coloca checksums ao lado dos downloads exatamente para isso.
Na ferramenta abaixo, clique em Escolher um arquivo ou solte o arquivo na caixa. Ela calcula MD5, SHA-1, SHA-256, SHA-384 e SHA-512 de uma vez. Cole o valor publicado em Comparar com e a ferramenta diz qual algoritmo confere, ou que nenhum confere. Letras maiúsculas, espaços e prefixos como sha256: são ignorados. O arquivo é lido no seu dispositivo e nunca é enviado.
Experimente aqui: Verificar checksum de arquivo
Abrir a página completa da ferramentaQual é o algoritmo? Descubra pelo tamanho
As páginas de download nem sempre dizem qual hash estão mostrando. O tamanho do texto hexadecimal entrega:
| Algoritmo | Tamanho em caracteres hexadecimais | Ainda é seguro contra adulteração? |
|---|---|---|
| MD5 | 32 | Não, colisões são fáceis de criar |
| SHA-1 | 40 | Não, colisões práticas demonstradas em 2017 |
| SHA-256 | 64 | Sim, é o padrão atual |
| SHA-384 | 96 | Sim |
| SHA-512 | 128 | Sim |
Onde encontrar o checksum
O valor costuma ficar logo ao lado ou abaixo do link de download, com um rótulo como SHA256, Checksum, Hash ou Verify your download. As distribuições Linux publicam um arquivo de texto separado chamado SHA256SUMS, com um hash e um nome de arquivo por linha. Projetos no GitHub muitas vezes anexam à página da versão um arquivo checksums.txt, ou arquivos pequenos com o nome do download e .sha256 no final.
Páginas de firmware e de drivers às vezes trazem só um valor MD5, o que basta para pegar um arquivo corrompido por acidente. Se você não achar nenhum checksum, olhe a assinatura digital do arquivo: no Windows, clique com o botão direito no arquivo, escolha Propriedades e abra a aba Assinaturas Digitais para ver quem publicou.
Verificar o checksum no Windows, no Mac e no Linux
Todo sistema importante tem um comando nativo. Abra um terminal na pasta do arquivo e troque o nome do arquivo pelo seu.
- Windows PowerShell: Get-FileHash .\arquivo.iso mostra o SHA-256 por padrão. Acrescente -Algorithm MD5 ou -Algorithm SHA512 para outros hashes. O PowerShell compara textos sem diferenciar maiúsculas, então você também pode digitar (Get-FileHash .\arquivo.iso).Hash -eq "valor esperado" e receber True ou False.
- Prompt de Comando do Windows: certutil -hashfile arquivo.iso SHA256. Troque SHA256 por MD5, SHA1 ou SHA512 conforme precisar.
- Terminal do macOS: shasum -a 256 arquivo.dmg para SHA-256, shasum -a 512 para SHA-512 e md5 arquivo.dmg para MD5.
- Linux: sha256sum arquivo.iso, sha512sum ou md5sum. Se o fornecedor oferecer um arquivo SHA256SUMS, coloque-o na mesma pasta e rode sha256sum -c SHA256SUMS: cada arquivo da lista mostra OK ou FAILED.
- Qualquer sistema com navegador: a ferramenta desta página, que ajuda em computadores da empresa bloqueados, Chromebooks e celulares onde não dá para abrir um terminal.
O que um resultado igual prova, e o que não prova
Um resultado igual prova que o seu arquivo é idêntico ao arquivo do qual o checksum foi calculado. Isso pega os problemas mais comuns: um download interrompido, um pen drive ou cartão SD corrompido, um servidor espelho com defeito ou um proxy que alterou o arquivo.
Ele não prova que o arquivo é confiável se o atacante controla tanto o arquivo quanto a página que mostra o checksum. Se alguém invadir um servidor de downloads, pode trocar o arquivo e o hash publicado juntos. Por isso projetos sérios também assinam os arquivos de checksum (por exemplo, um SHA256SUMS com uma assinatura .gpg correspondente) ou assinam o próprio instalador, que o Windows mostra como fornecedor verificado e o macOS confere pela notarização. Para software importante, pegue o checksum de uma fonte diferente da do arquivo: o site principal do projeto, as notas da versão ou a conta oficial nas redes sociais, e não o espelho de onde você baixou.
MD5 e SHA-1 continuam bons para detectar corrupção acidental, porque um dano aleatório não produz uma colisão. Contra adulteração proposital, confie só no SHA-256 ou mais forte.
Quando o checksum não confere
- Confira se você está comparando o mesmo algoritmo. Um valor SHA-1 nunca vai bater com um resultado SHA-256. A ferramenta compara com os cinco hashes de uma vez para descartar isso.
- Confirme que é o arquivo certo. Páginas de download muitas vezes listam várias versões (x64, ARM, instalador, portátil); cada uma tem o próprio checksum.
- Copie o valor inteiro. Um checksum cortado por um caractere falha. Espaços e quebras de linha no valor colado são ignorados pela ferramenta.
- Baixe de novo, de preferência da fonte oficial e não de um espelho, e com uma conexão estável. Downloads incompletos são a causa mais comum de valores diferentes.
- Não use o arquivo se ele continuar diferente depois de um novo download do site oficial. Avise o fornecedor.
- Se você calcular o hash de um texto em vez de um arquivo, uma quebra de linha no final ou outra codificação de texto muda o resultado. Os checksums das páginas de download são sempre calculados a partir do próprio arquivo.
Arquivos grandes e privacidade
Algumas ferramentas online de checksum enviam o seu arquivo para um servidor. Isso é lento para uma imagem de disco de 4 GB e uma má ideia para documentos particulares, backups ou versões ainda não lançadas. O verificador desta página lê o arquivo direto do seu disco no navegador; os hashes SHA são calculados pelo motor Web Crypto embutido no navegador, e nada é enviado para lugar nenhum.
Arquivos de algumas centenas de megabytes funcionam na maioria dos computadores e celulares. Como o arquivo inteiro é lido na memória, imagens muito grandes, de vários gigabytes, podem passar do que uma aba do navegador consegue usar; nesses casos, os comandos acima são a melhor escolha.