Como verificar o checksum de um arquivo (SHA-256 ou MD5)

Para verificar o checksum de um arquivo, calcule o hash do arquivo baixado com o mesmo algoritmo que o fornecedor usou (normalmente SHA-256) e compare com o valor da página de download: se todos os caracteres baterem, a sua cópia é idêntica à original. Dá para fazer com um comando nativo no Windows, no Mac e no Linux, ou escolhendo o arquivo no verificador desta página e colando o valor esperado.

6 min de leitura

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 ferramenta

Qual é o algoritmo? Descubra pelo tamanho

As páginas de download nem sempre dizem qual hash estão mostrando. O tamanho do texto hexadecimal entrega:

AlgoritmoTamanho em caracteres hexadecimaisAinda é seguro contra adulteração?
MD532Não, colisões são fáceis de criar
SHA-140Não, colisões práticas demonstradas em 2017
SHA-25664Sim, é o padrão atual
SHA-38496Sim
SHA-512128Sim

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.

Passo a passo

  1. Escolha o arquivoClique em Escolher um arquivo ou solte o arquivo baixado na caixa. Nesta página a entrada já vem como Arquivo.
  2. Espere os hashesMD5, SHA-1, SHA-256, SHA-384 e SHA-512 aparecem juntos. Arquivos grandes mostram o progresso enquanto são lidos.
  3. Cole o checksum publicadoCopie o valor da página de download e cole em Comparar com.
  4. Veja o resultadoConfere mostra qual algoritmo bate com o seu arquivo. Não confere quer dizer que o arquivo é diferente e deve ser baixado de novo.

Perguntas frequentes

Qual a diferença entre checksum e hash?

No uso do dia a dia, aqui são a mesma coisa: um valor curto calculado a partir do conteúdo do arquivo. Hash é o termo geral; checksum descreve o uso para conferir se os dados estão intactos.

MD5 é suficiente para verificar um download?

Para perceber corrupção acidental, sim. Para se proteger de alguém que trocou o arquivo de propósito, não: use SHA-256 quando o fornecedor oferecer.

Faz diferença se o checksum está em maiúsculas ou minúsculas?

Não. Valores hexadecimais não diferenciam maiúsculas. A ferramenta ignora isso ao comparar, e a opção Maiúsculas só muda como os resultados aparecem.

Meu arquivo é enviado quando eu verifico aqui?

Não. O arquivo é lido e o hash é calculado no seu navegador, e ele nunca sai do seu dispositivo. A ferramenta é grátis e também funciona sem internet depois que a página carrega.

Dá para verificar um checksum no celular?

Sim. Abra esta página no navegador do celular, escolha o arquivo nos seus downloads e cole o valor esperado. Arquivos muito grandes podem esbarrar no limite de memória do celular.

Por que duas ferramentas dão hashes diferentes para o mesmo texto?

Normalmente é uma quebra de linha no final ou outra codificação de caracteres. Esta ferramenta calcula o hash exatamente do que está na caixa de texto, em UTF-8. Com arquivos não existe essa ambiguidade.