O que é um checksum (e por que você deve se importar)?

Uma soma de verificação é uma sequência de números e letras usada para verificar se há erros nos dados. Se você conhece a soma de verificação de um arquivo original, pode usar um utilitário de soma de verificação para confirmar se sua cópia é idêntica.

Somas de verificação explicadas

Para produzir uma soma de verificação, você executa um programa que coloca esse arquivo por meio de um algoritmo. Os algoritmos típicos usados ​​para isso incluem MD5, SHA-1, SHA-256 e SHA-512.

O algoritmo usa uma função hash criptográfica que recebe uma entrada e produz uma string (uma sequência de números e letras) de comprimento fixo. O arquivo de entrada pode ser um arquivo pequeno de 1 MB ou um arquivo enorme de 4 GB, mas de qualquer forma, você acabará com uma soma de verificação do mesmo comprimento As somas de verificação também podem ser chamadas de “hashes”.

Pequenas mudanças no arquivo produzem somas de verificação de aparência muito diferente. Por exemplo, criamos dois arquivos de texto diferentes que são quase iguais, mas um tem um ponto de exclamação enquanto o outro tem um ponto. Depois de executar o utilitário de soma de verificação integrado do Windows 10 neles, vimos somas de verificação muito diferentes. Uma única diferença de caractere no arquivo subjacente produz uma soma de verificação de aparência muito diferente.

Quando somas de verificação são úteis

Você pode usar somas de verificação para verificar arquivos e outros dados em busca de erros que ocorram durante a transmissão ou armazenamento. Por exemplo, um arquivo pode não ter sido baixado corretamente devido a problemas de rede ou problemas de disco rígido podem ter causado corrupção em um arquivo no disco.

Se você conhece a soma de verificação do arquivo original, pode executar uma soma de verificação ou um utilitário de hash nele. Se a soma de verificação resultante corresponder, você sabe que o arquivo que possui é idêntico.

Os computadores usam técnicas de estilo de soma de verificação para verificar se há problemas em segundo plano nos dados, mas você também pode fazer isso. Por exemplo, as distribuições do Linux geralmente fornecem somas de verificação para que você possa verificar o ISO do Linux baixado corretamente antes de gravá-lo em um disco ou colocá-lo em uma unidade USB. Você também pode usar somas de verificação para verificar a integridade de qualquer outro tipo de arquivo, de aplicativos a documentos e mídia. Você só precisa saber a soma de verificação do arquivo original.

Qual é a diferença entre as somas MD5, SHA-1 e SHA-256?

As somas de verificação são uma maneira útil de garantir que um arquivo não contenha um erro. Se ocorrer um erro aleatório devido a problemas de download ou de disco rígido, a soma de verificação resultante será diferente, mesmo que seja apenas um pequeno erro.

No entanto, essas funções de hash criptográfico não são perfeitas. Os pesquisadores de segurança encontraram “colisões” com as funções MD5 e SHA-1. Em outras palavras, eles encontraram dois arquivos diferentes que produzem o mesmo hash MD5 ou SHA-1, mas são diferentes.

É improvável que isso aconteça por acaso, mas um invasor pode usar essa técnica para disfarçar um arquivo malicioso como um arquivo legítimo. É por isso que você não deve confiar em somas MD5 ou SHA-1 para verificar se um arquivo é autêntico - apenas para verificar se há corrupção.

Não houve nenhum relato de uma colisão SHA-256 ainda, e é por isso que os aplicativos agora estão criando somas SHA-256 em vez de somas MD5 e somas SHA-1. SHA-256 é um algoritmo mais forte e seguro.

Diferentes algoritmos de soma de verificação produzem resultados diferentes. Um arquivo terá diferentes checksums MD5, SHA-1 e SHA – 256. Se você conhece apenas a soma MD5 de um arquivo original, deve calcular a soma MD5 da sua cópia para verificar se corresponde.

RELACIONADO:O que é SHAttered? Ataques de colisão SHA-1, explicados

Como calcular somas de verificação

Se você conhece a soma de verificação de um arquivo original e deseja verificá-lo em seu PC, pode fazer isso facilmente. Windows, macOS e Linux têm utilitários integrados para gerar somas de verificação. Você não precisa de utilitários de terceiros.

RELACIONADO:O que são hashes MD5, SHA-1 e SHA-256 e como faço para verificá-los?

No Windows, PowerShell's Get-FileHash O comando calcula a soma de verificação de um arquivo. Para usá-lo, primeiro abra o PowerShell. No Windows 10, clique com o botão direito do mouse no botão Iniciar e selecione “Windows PowerShell”. Você também pode iniciá-lo pesquisando no menu Iniciar por “PowerShell” e clicando no atalho “Windows PowerShell”.

Atualizar: Get-FileHash está incluído no Windows 10. Mas, no Windows 7, você terá que instalar a atualização do PowerShell 4.0 para obtê-la.

No prompt, digite Get-FileHash e pressione a barra de espaço.

Digite o caminho do arquivo para o qual deseja calcular a soma de verificação. Ou, para tornar as coisas mais fáceis, arraste e solte o arquivo de uma janela do File Explorer para a janela do PowerShell para preencher automaticamente seu caminho.

Pressione Enter para executar o comando e você verá o hash SHA-256 para o arquivo. Dependendo do tamanho do arquivo e da velocidade de armazenamento do seu computador, o processo pode demorar alguns segundos.

Se você precisar de outro tipo de soma de verificação, adicione o apropriado -Algoritmo opção ao final do comando, assim:

Get-FileHash C: \ path \ to \ file.iso -Algorithm MD5
Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA1

Compare a soma de verificação calculada com a original. Você não deve ter que olhar muito de perto, pois haverá uma enorme diferença na soma de verificação, mesmo se houver apenas uma pequena diferença no arquivo subjacente.

Se a soma de verificação corresponder, os arquivos são idênticos. Caso contrário, há um problema - talvez o arquivo esteja corrompido ou você esteja apenas comparando dois arquivos diferentes. Se você fez o download de uma cópia do arquivo e a soma de verificação não corresponde ao que você esperava, tente fazer o download do arquivo novamente.


$config[zx-auto] not found$config[zx-overlay] not found