- Qual hash devo usar — MD5, SHA-1 ou SHA-256?
- Para verificar um download ou um arquivo seu, qualquer um dos três funciona — todos são sensíveis o bastante para que a troca de um único bit mude o hash por completo. Para qualquer coisa ligada à segurança (versões assinadas, certificados, checagens contra adulteração), use SHA-256. MD5 e SHA-1 são considerados quebrados contra ataques de colisão: quem controla o conteúdo do arquivo consegue criar dois arquivos diferentes com o mesmo MD5 ou SHA-1, então eles não servem mais para provar que “este é o arquivo que o fornecedor assinou”. O SHA-256 não tem ataques de colisão conhecidos.
- Por que os três hashes aparecem de uma vez?
- A maioria dos arquivos de checksum publica só um — hoje normalmente SHA-256, às vezes SHA-1 ou MD5 por motivos históricos. Calcular os três de uma vez significa que você não precisa saber antes qual o fornecedor publicou; cole o que estiver na lista e a ferramenta escolhe o algoritmo certo pelo tamanho.
- Meus arquivos são enviados para algum lugar?
- Não. O cálculo roda inteiro no seu navegador, usando a Web Crypto API (para SHA-1 e SHA-256) e uma implementação de MD5 em JavaScript puro. Nada é enviado pela rede, nada é registrado, nada é guardado. Feche a aba e o arquivo some da memória da ferramenta.
- Qual o maior arquivo que consigo verificar?
- A ferramenta carrega o arquivo na memória antes de calcular o hash, então o limite prático é o que o seu navegador consegue colocar num único ArrayBuffer — normalmente 1–2 GB num computador moderno, menos no celular. Para arquivos maiores que isso você precisaria de um hash em fluxo (um bloco por vez), que a maioria das ferramentas de desktop (sha256sum, certutil, Get-FileHash) já faz.
- Como consigo o hash oficial para comparar?
- A maioria dos projetos publica arquivos de hash junto com os downloads. Procure um arquivo terminado em .sha256, .sha256sum, SHA256SUMS, .md5 ou CHECKSUMS na mesma pasta do download. Abra num editor de texto e você vai ver o hash em hexadecimal seguido do nome do arquivo. Cole o hash no campo Esperado aqui.
- Os hashes não batem — e agora?
- Três possibilidades, da mais para a menos provável: o arquivo se corrompeu no caminho (baixe de novo de um espelho estável), você tem uma versão do arquivo diferente da que o hash descreve (confira a data e o número da versão) ou, no pior caso, o arquivo foi adulterado (baixe de novo do site oficial com HTTPS verificado e confira com o hash que eles assinam com PGP). Não rode um executável cujo hash não bate.
- Por que o mesmo arquivo dá um hash diferente em outra máquina?
- Não deveria — essa é a definição de hash. Se você está vendo resultados diferentes, a causa mais comum é que uma das máquinas baixou um arquivo levemente diferente (quebras de linha diferentes em arquivos de texto, outro espelho servindo uma versão antiga, um download parcial que foi retomado). Baixe e calcule de novo para confirmar.
- Posso usar para conferir se um arquivo que enviei chegou igual do outro lado?
- Sim — esse é o uso padrão. Calcule o hash antes de enviar, mande o arquivo e o hash separadamente e peça para quem recebe calcular do lado dele e comparar. Se os hashes batem, o arquivo é idêntico byte a byte. É exatamente isso que gerenciadores de pacotes (apt, yum, brew, pip) fazem por baixo dos panos para verificar cada download.