Verificador de Checksum de Arquivo
Calcule o checksum SHA-256, SHA-512 ou SHA-1 de um arquivo direto no seu navegador e compare com o hash publicado pelo desenvolvedor — confirme que o seu download chegou intacto e sem modificações, sem nada ser enviado a servidores.
229 visualizações
Arraste e solte um arquivo aqui, ou clique para escolher
Calculando…
Não foi possível ler o arquivo.
Por Que os Desenvolvedores de Software Publicam Checksums
Quando você baixa uma ISO do Linux, um binário de código aberto ou um instalador assinado, a página de download geralmente lista um checksum ao lado do arquivo — uma string curta como a94a8fe5ccb19ba61c4c0873d391e987982fbbd. Essa string é o resultado de uma função hash criptográfica executada sobre cada byte do arquivo. Mude até um único bit em qualquer parte do arquivo e o hash sai completamente diferente. Os desenvolvedores publicam esse valor para que, depois de baixar o arquivo, você possa rodar a mesma função hash e comparar o seu resultado com o que foi publicado. Se as duas strings coincidirem exatamente, você pode ter confiança de que a cópia no seu disco contém precisamente os mesmos bytes que o desenvolvedor compilou e enviou — nada adicionado, nada faltando, nada alterado.
Um checksum detecta dois tipos de problema bem diferentes. O primeiro é corriqueiro: conexões de rede caem no meio da transferência, proxies truncam arquivos grandes, e discos ocasionalmente gravam setores defeituosos — qualquer um desses pode deixar você com um arquivo que parece completo (tamanho certo, abre sem erro óbvio) mas difere do original em alguns bytes corrompidos, o que muitas vezes já é suficiente para travar um instalador ou corromper dados silenciosamente depois. O segundo é adversarial: se um invasor compromete um servidor espelho (mirror) ou intercepta um download em trânsito e o substitui por um binário modificado com malware embutido, comparar o checksum com o valor publicado na página oficial e confiável é uma das poucas verificações capazes de pegar isso — um nome e um tamanho de arquivo são triviais de falsificar, mas reproduzir um hash exato exige possuir exatamente os bytes originais.
Checksums Não São Criptografia
Vale a pena ser preciso sobre o que um checksum verifica, porque a terminologia costuma gerar confusão. Hashing é uma operação de mão única, irreversível: o SHA-256 transforma um arquivo em uma string hexadecimal fixa de 64 caracteres, mas não existe operação que transforme essa string de volta no arquivo. Só isso já mostra que não é criptografia — a criptografia é projetada para ser reversível com a chave certa; o hashing é projetado para nunca ser reversível. Um checksum verifica integridade, não confidencialidade: confirma que os bytes que você tem são os bytes que foram hasheados. Qualquer pessoa com acesso ao arquivo ainda pode ler cada byte dele às claras; o hashing não faz nada para esconder o conteúdo. O que ele garante é que, se um único byte fosse alterado — de propósito ou por acidente —, o hash que você calcula deixaria de coincidir com o publicado, e você saberia imediatamente que algo é diferente.
Essa distinção também importa para a escolha do algoritmo. O SHA-1 foi formalmente quebrado para fins de segurança criptográfica em 2017, quando pesquisadores do Google e do CWI Amsterdam publicaram o ataque "SHAttered": dois arquivos PDF diferentes projetados para produzir o mesmo hash SHA-1, provando que um invasor suficientemente motivado poderia construir um arquivo malicioso com o mesmo checksum de um arquivo legítimo. Esse resultado aposentou o SHA-1 para qualquer coisa crítica para a segurança — certificados TLS, assinaturas digitais, defesa contra um agente hostil construindo deliberadamente uma colisão. Mas para o caso muito mais comum que esta ferramenta resolve — confirmar que um download não foi corrompido por uma conexão instável — o SHA-1 ainda funciona bem na prática, porque ninguém está projetando o seu download corrompido específico para coincidir com um hash-alvo; a corrupção acidental é a alteração aleatória de bits, não a construção intencional de uma colisão. Dito isso, quando um desenvolvedor oferece a opção, o SHA-256 não custa nada a mais para calcular e fecha essa brecha por completo, o que o torna a escolha padrão mais segura.
Perguntas Frequentes
O que exatamente um checksum verifica?
Um checksum é o resultado de executar uma função hash criptográfica (SHA-256, SHA-512 ou SHA-1) sobre cada byte de um arquivo. Ele confirma integridade: que o arquivo que você tem é idêntico, byte a byte, ao arquivo que produziu o hash publicado. Não diz nada sobre o significado, a segurança ou a origem do conteúdo — apenas que nenhum byte foi adicionado, removido ou alterado desde que o hash foi gerado.
Por que o hash do arquivo que baixei não coincide com o do site?
A causa mais comum, de longe, é um download incompleto ou corrompido — tente baixar de novo, de preferência com um gerenciador de downloads que suporte retomar a transferência. Outras causas: você comparou com o hash de uma versão diferente ou de outro arquivo na mesma página, ou incluiu sem querer espaços ou caracteres extras ao copiar o hash esperado. Baixe novamente da fonte oficial e verifique de novo antes de supor que algo malicioso aconteceu; adulteração real é rara, mas é exatamente o cenário que os checksums existem para detectar.
O SHA-1 ainda é seguro para verificar downloads?
Para confirmar corrupção acidental — uma conexão que caiu, um setor de disco defeituoso — sim, o SHA-1 ainda funciona bem na prática. Para qualquer situação em que um invasor motivado possa construir deliberadamente um arquivo malicioso para coincidir com um hash específico, não: o SHA-1 foi quebrado pelo ataque de colisão "SHAttered" de 2017, do Google e do CWI Amsterdam, que provou que dois arquivos diferentes podem compartilhar o mesmo hash SHA-1. Quando você tem a opção, o SHA-256 elimina essa questão por completo, sem custo adicional.
Qual é a diferença entre SHA-256 e SHA-512 para esse propósito?
Ambos pertencem à família SHA-2 e não têm fraquezas criptográficas práticas conhecidas. O SHA-512 opera internamente com palavras de 64 bits, em vez das palavras de 32 bits do SHA-256, então em hardware de 64 bits ele pode calcular em velocidade semelhante ou até mais rápida, apesar de produzir um digest mais longo, de 128 caracteres. Para verificação de checksum do dia a dia, qualquer um dos dois serve — use o que o desenvolvedor realmente publicou, já que esse é o único valor com o qual você tem para comparar.
Um checksum correspondente prova que o arquivo é seguro ou prova quem o publicou?
Não. Uma correspondência só prova que os bytes que você tem são os bytes que produziram um determinado hash esperado — não diz nada sobre se esse hash esperado veio de uma fonte confiável. Se um invasor comprometer a mesma página que lista o checksum esperado, ele pode publicar um hash correspondente para o próprio arquivo malicioso, e a verificação vai indicar que há correspondência. Checksums respondem "o arquivo chegou intacto", não "foi publicado por quem afirma ter publicado" — essa segunda pergunta exige uma assinatura criptográfica (como PGP/GPG), não apenas um hash.
Ferramentas Semelhantes
Reportar um Problema
Verificador de Checksum de Arquivo
Comentários
Ainda não há comentários — seja o primeiro a escrever um!