LocalUtils logo
LocalUtils
Files stay local for processing. Account, billing, and ads use separate network services. Saiba mais

Calcule somas de verificação de arquivos e compare-as exatamente

Uma comparação de checksum é forte somente quando a referência é confiável

O hash responde a uma pergunta restrita: esses bytes produzem esse resumo? Ele não responde quem criou os bytes ou se é seguro executá-los.

Calcule somas de verificação de arquivos e compare-as exatamente

Uma soma de verificação é uma impressão digital repetível de bytes de arquivo. A correspondência de um valor publicado por uma fonte confiável pode mostrar que os bytes baixados correspondem à referência dessa fonte.

Uma soma de verificação não prova que um arquivo é inofensivo, que o editor é confiável ou que um valor de referência não foi substituído por um invasor. A comparação é tão confiável quanto o canal que forneceu o resumo esperado.

Comece com a origem do valor esperado

Um resumo copiado da mesma página de download comprometida do arquivo pode ser substituído junto com ele. Prefira uma versão assinada, um repositório autenticado, um anúncio separado ou outro canal confiável.

Registre o nome exato do arquivo, versão, plataforma, arquitetura e algoritmo. Os editores geralmente fornecem vários arquivos com nomes semelhantes e somas de verificação diferentes.

Algoritmos não são intercambiáveis

Um valor SHA-256 não pode ser comparado com SHA-512 ou MD5. Selecione exatamente o algoritmo publicado e compare a saída hexadecimal completa.

O CRC32 detecta erros comuns de transferência, mas é fácil de manipular. MD5 e SHA-1 têm pontos fracos de colisão e não devem ser escolhidos para novos designs de integridade adversária, embora os editores legados ainda possam fornecê-los para compatibilidade.

Entenda o que uma partida estabelece

Uma correspondência indica que os bytes do arquivo local concordam com os bytes referenciados nesse algoritmo. Renomear o arquivo normalmente não importa porque o nome do arquivo não tem hash.

Uma correspondência não verifica malware, audita o código-fonte nem estabelece a identidade do editor. Se a referência confiável descrever um arquivo prejudicial, o resumo correspondente identificará fielmente esse arquivo prejudicial.

Combine somas de verificação com assinaturas e revisão de origem

Para software, verifique uma assinatura de plataforma, assinatura de pacote ou versão assinada, quando disponível. Verifique o domínio do editor e as notas de lançamento, bem como o resumo.

Mantenha um registro do valor esperado e sua origem quando a verificação for importante posteriormente. Recalcular após qualquer operação que altere os bytes do arquivo, incluindo rearquivamento ou atualizações de metadados.

Proteja o valor de referência, não apenas a etapa de comparação

A verificação da soma de verificação é tão confiável quanto o valor esperado. Prefira um resumo publicado por meio de um canal autenticado controlado pelo software ou editor de dados. Se o arquivo e a soma de verificação chegarem da mesma mensagem não confiável ou site comprometido, um invasor poderá substituir ambos. Registre o algoritmo junto com o valor, porque strings hexadecimais de aparência idêntica podem representar diferentes famílias e comprimentos de resumo. Para software de alta garantia, verifique uma versão assinada ou assinatura de pacote quando houver uma disponível. Uma soma de verificação correspondente confirma que os bytes recebidos correspondem aos bytes referenciados; ainda não certifica que esses bytes sejam seguros ou adequados.

Início rápido: LocalUtils

  1. Obtenha a soma de verificação esperada do editor do software ou de outro canal autenticado.
  2. Escolha o mesmo algoritmo nomeado pelo editor; valores de algoritmos diferentes não podem ser comparados.
  3. Selecione o arquivo e deixe o trabalhador terminar sem modificá-lo ou baixá-lo novamente.
  4. Compare as strings hexadecimais completas, de preferência copiando/colando em uma comparação de tempo constante ou de texto exato, em vez de verificar apenas os primeiros caracteres.

O que o navegador faz

Um Web Worker lê o arquivo e calcula algoritmos selecionados, incluindo variantes CRC32, MD5, SHA-1, SHA-256, SHA-384, SHA-512 e SHA-3 implementadas pelas bibliotecas incluídas.

Os bytes do arquivo permanecem no caminho de processamento do navegador. Algoritmos mais antigos continuam úteis para verificações de compatibilidade e corrupção acidental, mas MD5 e SHA-1 não são escolhas adequadas para novos projetos de segurança resistentes a colisões.

Entradas e saídas

  • Entrada: qualquer arquivo local legível pela API de arquivos do navegador.
  • Saída: strings de resumo hexadecimais para os algoritmos selecionados.
  • Um resumo identifica bytes exatos; alterar um byte, campo de metadados ou carimbo de data/hora do arquivo normalmente altera o resultado.

Limites a saber antes de começar

  • Um resumo correspondente não consegue detectar malware quando a referência confiável descreve o mesmo arquivo malicioso.
  • CRC32 é uma soma de verificação de detecção de erros, não uma prova de integridade criptográfica.
  • MD5 e SHA-1 apresentam pontos fracos de colisão conhecidos.
  • Arquivos grandes levam tempo para serem lidos e ainda consomem E/S do dispositivo e recursos de processamento.

Lista de verificação de verificação

  • Confirme se a soma de verificação de referência foi obtida por HTTPS ou por um canal de lançamento assinado.
  • Compare todo o resumo com letras maiúsculas correspondentes ignoradas apenas quando a representação for hexadecimal.
  • Para software de alta garantia, verifique uma assinatura digital além da soma de verificação.

Solução de problemas

  • Se os valores forem diferentes, confirme o algoritmo, a versão do arquivo, a arquitetura, o estado de descompactação e se o editor faz hash de um arquivo ou de seu conteúdo.
  • Copie a soma de verificação sem espaços, rótulos ou quebras de linha ocultas.
  • Recalcule após um novo download somente quando o valor esperado vier de uma fonte independente confiável.

Perguntas que as pessoas fazem

As somas de verificação devem diferenciar maiúsculas de minúsculas?

Letras hexadecimais geralmente podem ser comparadas sem maiúsculas e minúsculas, mas, caso contrário, todos os dígitos e posições das letras devem corresponder.

Por que dois arquivos visualmente idênticos têm hash diferente?

Metadados, configurações de compactação, ordem dos objetos, carimbos de data/hora ou bytes invisíveis podem diferir mesmo quando o conteúdo renderizado parece o mesmo.

O SHA-256 é suficiente?

É um resumo moderno amplamente utilizado, mas a distribuição confiável também depende de como o valor esperado e a identidade do editor são autenticados.