O que é um checksum?
Um checksum, também chamado hash, é uma sequência curta de letras e números calculada a partir de cada byte de um ficheiro. O mesmo ficheiro gera sempre o mesmo checksum, e alterar um único byte gera um checksum completamente diferente. Isso faz dele uma impressão digital do conteúdo do ficheiro.
Os programadores publicam o checksum ao lado dos downloads. Quando calculas o checksum do ficheiro que descarregaste e ele corresponde ao deles, sabes que tens exatamente o ficheiro que publicaram, e não uma cópia corrompida ou alterada.
Porque deves verificar os teus downloads
- Downloads corrompidos: Uma ligação que cai ou um disco com defeito pode danificar um ficheiro grande sem qualquer mensagem de erro. Uma imagem ISO corrompida costuma falhar a meio da instalação, muito depois de já te teres esquecido de onde veio.
- Ficheiros adulterados: Atacantes que entram num servidor espelho podem trocar um ficheiro por outro com malware. Em 2016, o site do Linux Mint foi atacado e o link de download apontava para uma ISO com uma backdoor.
- O ficheiro errado: Verificar o checksum também revela se recebeste a versão errada, como a de ARM em vez da de x64, ou uma versão antiga servida a partir de uma cache.
Como verificar o hash de um ficheiro online
- Arrasta o ficheiro que descarregaste para a ferramenta acima ou clica para o selecionar.
- Copia o checksum da página de download e cola-o no campo do checksum esperado.
- A ferramenta mostra se correspondem. Deteta MD5, SHA-1, SHA-256 e SHA-512 pelo comprimento do checksum.
Também podes colar uma linha inteira de um ficheiro de checksums, como 9f86d0...0a08 *ubuntu.iso, e o checksum é extraído automaticamente.
Porque é seguro para ficheiros privados
A maioria das calculadoras de hash online envia primeiro o teu ficheiro para o servidor delas. Esta ferramenta usa o processamento do teu próprio navegador para ler o ficheiro em pequenos blocos, por isso nada sai do teu dispositivo. Isso também significa que não tens de esperar por nenhum envio e que ficheiros muito grandes funcionam.
Como verificar um hash MD5 ou SHA-256 no Windows
O Windows tem uma ferramenta de checksum integrada no PowerShell. Abre o PowerShell (procura-o no menu Iniciar), vai até à pasta do ficheiro e executa:
cd $HOME\Downloads
Get-FileHash .\ubuntu.isoPor predefinição, isto mostra o checksum SHA-256. Para outros algoritmos, acrescenta -Algorithm MD5, -Algorithm SHA1 ou -Algorithm SHA512. Para comparar com o checksum esperado sem leres carácter a carácter, executa:
(Get-FileHash .\ubuntu.iso).Hash -eq "cola-aqui-o-checksum-esperado"O PowerShell mostra True se corresponderem e False se não. Na antiga Linha de Comandos, usa certutil -hashfile ubuntu.iso SHA256.
Como verificar um hash MD5 ou SHA-256 no Mac
Abre o Terminal (em Aplicações > Utilitários), vai até à pasta do ficheiro e executa:
cd ~/Downloads
shasum -a 256 app.dmgTroca 256 por 1 ou 512 para SHA-1 ou SHA-512. Para MD5, executa md5 app.dmg. Para o Terminal comparar os checksums por ti, executa:
echo "cola-aqui-o-checksum-esperado app.dmg" | shasum -a 256 -cMostra app.dmg: OK quando correspondem. Repara nos dois espaços entre o checksum e o nome do ficheiro.
Como verificar um hash MD5 ou SHA-256 no Linux
Todas as principais distribuições Linux trazem ferramentas de checksum. Num terminal, executa:
sha256sum ubuntu.isoO mesmo funciona com md5sum, sha1sum e sha512sum. Muitos projetos publicam um ficheiro de checksums, normalmente chamado SHA256SUMS, com todos os downloads. Coloca-o na mesma pasta do teu ficheiro e executa:
sha256sum -c SHA256SUMS --ignore-missingMostra ubuntu.iso: OK para cada ficheiro que corresponde. --ignore-missing ignora os ficheiros da lista que não descarregaste.
MD5 vs SHA-1 vs SHA-256 vs SHA-512
Os quatro fazem o mesmo trabalho, mas o MD5 e o SHA-1 já não são seguros contra alguém que falsifique um ficheiro de propósito. Continuam a detetar corrupção acidental, e é por isso que muitas páginas de download ainda os mostram.
| Algoritmo | Comprimento | Segurança | Usado para |
|---|---|---|---|
| MD5 | Comprimento32 caracteres | SegurançaInseguro. É possível criar dois ficheiros diferentes com o mesmo checksum | Usado paraDetetar downloads corrompidos ou incompletos |
| SHA-1 | Comprimento40 caracteres | SegurançaInseguro desde 2017, pelo mesmo motivo | Usado paraPáginas de download antigas e Git |
| SHA-256 | Comprimento64 caracteres | SegurançaSeguro | Usado paraO padrão atual para downloads de software |
| SHA-512 | Comprimento128 caracteres | SegurançaSeguro | Usado paraAlgumas distribuições Linux e ferramentas de segurança |
Se uma página de download oferecer vários checksums, usa SHA-256 ou SHA-512.
O que fazer se o checksum não corresponder
Não abras nem instales o ficheiro. Depois, verifica estes pontos, começando pelo mais provável:
- Confirma que estás a comparar o mesmo algoritmo. Um checksum SHA-256 nunca vai corresponder a um MD5.
- Confirma que descarregaste exatamente a versão a que o checksum se refere, incluindo o número da versão e se é para x64 ou ARM.
- Apaga o ficheiro e descarrega-o de novo, de preferência do site oficial em vez de um espelho.
- Se um novo download do site oficial continuar a não corresponder, contacta o programador e não uses o ficheiro.
O que um checksum não te diz
Um checksum correspondente prova que o teu ficheiro é idêntico àquele a partir do qual o checksum foi calculado. Não prova que o ficheiro é seguro. Se os atacantes controlarem o site, podem trocar tanto o download como o checksum que está ao lado.
Para uma proteção maior, obtém o checksum num sítio diferente do ficheiro, como o site oficial quando descarregaste de um espelho. Alguns projetos também assinam os seus ficheiros de checksums com GPG, o que prova que os checksums vieram do programador.
Perguntas frequentes
Partilha ficheiros com privacidade
Envia ficheiros com um link encriptado ponta a ponta. Grátis, sem conta, e nós não conseguimos ver o que envias.
Partilhar um ficheiro