Verificar hash de arquivo (SHA-256)

Calcule o SHA-256 de um arquivo no próprio navegador e compare com o hash publicado pelo autor do download. Sem upload, sem cadastro, com o comando equivalente para Linux, macOS e Windows.

Revisão técnica: Cesar Gargiulo (segurança da informação)
Valim, o mascote do ValorFinal, representando a categoria Tecnologia

O arquivo não é enviado para lugar nenhum. Ele é lido pelo próprio navegador e o hash é calculado na sua máquina, sem upload e sem cadastro. Limite de 100 MB, porque o conteúdo inteiro precisa caber na memória da aba.

1. Algoritmo publicado pelo autor do arquivo

Espaço, quebra de linha, nome do arquivo e maiúsculas não atrapalham: a comparação limpa o texto antes de comparar.

Hash confere integridade, não origem.

O hash prova que o arquivo é igual ao que o publicador descreveu. Ele não prova que o publicador é confiável, nem que o site não foi invadido: se o invasor troca o instalador e o hash na mesma página, a conferência bate e o arquivo é malicioso do mesmo jeito. Quando a origem importa, o que responde por ela é a assinatura digital (GPG, Authenticode), não o hash sozinho.

O mesmo cálculo no terminal (SHA-256)

  • Linuxsha256sum arquivo.iso
  • macOSshasum -a 256 arquivo.iso
  • Windows (Prompt)certutil -hashfile arquivo.iso SHA256
  • Windows (PowerShell)Get-FileHash arquivo.iso -Algorithm SHA256

Os quatro produzem exatamente o mesmo hexadecimal. O Get-FileHash imprime em maiúsculas e o certutil em minúsculas, o que não muda nada: a comparação ignora a caixa das letras.

Qual algoritmo escolher para conferir um download

A regra é simples: use o mesmo que o autor do arquivo publicou. Se ele publicou mais de um, prefira o maior da família SHA-2. O tamanho do hexadecimal é a forma mais rápida de descobrir qual é qual quando o site não diz.

AlgoritmoBitsCaracteres hexQuando aparece
SHA-25625664O padrão atual de checksum de download. É o que praticamente toda distribuição Linux e todo instalador publicam.
SHA-38438496Aparece em contextos de certificado e de integridade de recurso web (Subresource Integrity). Pouco usado em download comum.
SHA-512512128Mesma família do SHA-256, com saída maior. Alguns projetos publicam os dois; qualquer um dos dois serve.
SHA-116040Legado. Detecta corrupção acidental, mas não é adequado para uso novo de segurança: colisões foram demonstradas em 2017.

Um hash com 32 caracteres é MD5, que esta página não calcula de propósito: ele foi quebrado e não serve nem como checksum confiável contra alteração intencional.

Para conferir um download, calcule o SHA-256 do arquivo que está na sua máquina e compare com o valor que o autor publicou. Se os dois hexadecimais forem idênticos, o arquivo chegou inteiro e sem alteração. Aqui o cálculo acontece no seu navegador: o arquivo não passa por upload.

Como funciona a conferência do hash

Uma função de hash lê o arquivo inteiro, byte a byte, e devolve sempre a mesma sequência de tamanho fixo. Trocar um único bit do arquivo muda o resultado por completo, e não apenas um pedacinho dele: é esse efeito que torna a comparação útil. A leitura é feita pela API de arquivos do navegador e o cálculo pela Web Crypto API, a mesma implementação que o navegador usa para criptografia.

A comparação é feita depois de limpar o texto colado. Quem confere um download costuma ter em mãos a linha inteira do sha256sum, com o nome do arquivo no fim, ou a saída do certutil, com o hexadecimal separado por espaços. Espaço, quebra de linha e caixa das letras são removidos antes de comparar, porque nenhum publicador combinou um formato e a divergência por formatação seria um falso alarme.

Para gerar hash de um texto em vez de um arquivo, use o gerador de hash SHA. A suíte com chmod e parser de ARN da AWS está em ferramentas DevOps, e para escolher uma senha que aguente ataque, o gerador de senha forte.

Método

hash = SHA-256(conteúdo do arquivo)

confere = hash calculado (minúsculas) === hash publicado (minúsculas)

Base: FIPS 180-4 (NIST), que define a família SHA-2, e a Web Crypto API do W3C, que o navegador implementa. O cálculo é local e o arquivo não sai do dispositivo.

Limitações

  • Hash prova integridade, não origem. Se a página que publica o arquivo foi comprometida, o invasor troca o instalador e o hash juntos: a conferência bate e o arquivo é malicioso. Quando a origem importa, quem responde por ela é a assinatura digital.
  • O arquivo inteiro é carregado na memória do navegador, então há limite de tamanho. Para uma imagem de sistema de vários gigabytes, use o comando do terminal indicado na página, que lê o arquivo em pedaços.
  • A página calcula SHA-1, SHA-256, SHA-384 e SHA-512, que são os que a Web Crypto oferece. MD5 não está aqui de propósito: ele foi quebrado e não deve ser usado nem como checksum contra alteração intencional.
  • Hash de uso geral não serve para guardar senha. Senha pede função lenta e com sal, como Argon2, scrypt ou bcrypt.

Guia completo

Hash de arquivo SHA-256: como verificar integridade com segurança

Entenda como hashes SHA-256 ajudam a verificar a integridade de arquivos, a diferença entre hash e criptografia, como conferir um download e os cuidados ao calcular hash no navegador.

Calculadoras relacionadas

ValorFinal VIP: Sem anúncios, até 500 cenários salvos e comparação de cenários lado a lado.

Ferramenta transparente, com o método explicado

Atualizado em . Fontes: FIPS 180-4 (NIST) / Web Crypto API (W3C) / RFC 6234.

Processamento local: esta ferramenta roda no seu navegador e nada é enviado a servidores automaticamente.

Como validamos

Fontes e referências

Links externos para o que foi consultado na construção desta página, com a natureza de cada fonte identificada. O conteúdo delas pode mudar sem aviso; em caso de divergência, vale sempre a fonte primária.

Perguntas frequentes

O arquivo é enviado para algum servidor?

Não. A página lê o arquivo pela API de arquivos do próprio navegador e calcula o hash com a Web Crypto API, que também é do navegador. Não existe upload, nem endereço de servidor para onde o conteúdo pudesse ir. O limite de tamanho existe porque o arquivo inteiro precisa caber na memória da aba, e não por causa de tráfego.

Como verificar o SHA-256 de um arquivo baixado?

Copie o hash publicado na página do download, escolha o mesmo algoritmo aqui, selecione o arquivo e cole o valor copiado. A conferência é automática e diz se bate ou não. Você pode colar a linha inteira do sha256sum, com o nome do arquivo no fim: o texto é limpo antes da comparação, e maiúsculas ou minúsculas não fazem diferença.

O que fazer quando o hash não bate?

Primeiro, confira se o algoritmo é o mesmo que o autor publicou: comparar um MD5 com um SHA-256 sempre dá diferente. Depois, confira se o arquivo é exatamente a mesma versão, porque versão nova gera hash novo. Se os dois estiverem certos, baixe outra vez, de preferência pelo site oficial: o motivo mais comum de divergência é download interrompido ou espelho desatualizado. Um arquivo cujo hash não bate não deve ser instalado.

Hash bater garante que o arquivo é seguro?

Não. O hash prova integridade, e não origem. Ele diz que o arquivo na sua máquina é idêntico ao que gerou aquele valor, nada mais. Se o site que publica o programa foi invadido e o invasor trocou o instalador e o hash na mesma página, a conferência bate e o arquivo continua malicioso. Quem responde pela origem é a assinatura digital, como GPG em distribuições Linux e Authenticode no Windows.

Qual é o comando equivalente em cada sistema?

No Linux, sha256sum arquivo.iso. No macOS, shasum -a 256 arquivo.iso. No Windows, certutil -hashfile arquivo.iso SHA256 no Prompt, ou Get-FileHash arquivo.iso -Algorithm SHA256 no PowerShell. Todos produzem exatamente o mesmo hexadecimal; o que muda é só a caixa das letras na saída, que não altera a comparação.

SHA-1 ainda serve para conferir download?

Serve para detectar corrupção acidental, mas não para segurança. Colisões de SHA-1 foram demonstradas na prática em 2017, o que significa que é possível construir dois arquivos diferentes com o mesmo SHA-1. Use SHA-1 apenas quando o publicador não oferece outra opção, e prefira SHA-256 sempre que ele existir.

Posso usar hash para guardar senha?

Não com SHA-256 puro. Hash de uso geral é rápido de propósito, e essa velocidade é exatamente o que ajuda quem tenta adivinhar senhas em massa. Senha se guarda com função própria, lenta e com sal, como Argon2, scrypt ou bcrypt. O hash desta página serve para conferir arquivo, não para proteger credencial.