30Aug
Às vezes, você verá os hashes MD5, SHA-1 ou SHA-256 exibidos ao lado de downloads durante suas viagens na Internet, mas não sabem mesmo o que são. Essas cadeias aparentemente aleatórias de texto permitem verificar os arquivos que você baixar não estão corrompidos ou adulterados. Você pode fazer isso com os comandos incorporados no Windows, MacOS e Linux.
Como os Hashes funcionam e como são usados para verificação de dados
Hashes são produtos de algoritmos criptográficos projetados para produzir uma seqüência de caracteres. Muitas vezes, essas strings têm um comprimento fixo, independentemente do tamanho dos dados de entrada. Dê uma olhada no gráfico acima e você verá que ambos "Fox" e "A raposa vermelha salta sobre o cachorro azul" produzem o mesmo tamanho de saída.
Agora, compare o segundo exemplo no gráfico ao terceiro, quarto e quinto. Você verá isso, apesar de uma alteração muito menor nos dados de entrada, os hashes resultantes são todos muito diferentes um do outro. Mesmo que alguém modifique uma parte muito pequena dos dados de entrada, o hash mudará dramaticamente.
MD5, SHA-1 e SHA-256 são funções de hash diferentes. Os criadores de software costumam fazer um download de arquivos, como um arquivo. iso do Linux, ou mesmo um arquivo. exe do Windows, e executá-lo através de uma função hash. Eles então oferecem uma lista oficial dos hashes em seus sites.
Dessa forma, você pode baixar o arquivo e, em seguida, executar a função hash para confirmar que você possui o arquivo original real e que não foi corrompido durante o processo de download ou adulterado maliciosamente. Como vimos acima, mesmo uma pequena alteração no arquivo mudará drasticamente o hash.
Isso também pode ser útil se você tiver um arquivo obtido de uma fonte não oficial e você quer confirmar que é legítimo. Digamos que você tenha um arquivo Linux. ISO que obteve de algum lugar e que você deseja confirmar que não foi adulterado. Você pode procurar o hash desse arquivo ISO específico on-line no site da distribuição Linux. Você pode então executá-lo através da função hash em seu computador e confirmar que ele corresponde ao valor hash que você esperaria ter. Isso confirma que o arquivo que você possui é exatamente o mesmo arquivo que está sendo oferecido para download no site da distribuição Linux, sem modificações.
Como comparar as funções do Hash em qualquer sistema operacional
Com isso em mente, vejamos como verificar o hash de um arquivo que você baixou e compará-lo contra o que você recebeu. Aqui estão os métodos para Windows, MacOS e Linux. Os hashes serão sempre idênticos se você estiver usando a mesma função hash no mesmo arquivo. Não importa qual sistema operacional você usa.
Windows
Este processo é possível sem qualquer software de terceiros no Windows graças ao PowerShell.
Para começar, abra uma janela do PowerShell, iniciando o atalho "Windows PowerShell" no seu menu Iniciar.
Execute o seguinte comando, substituindo "C: \ path \ to \ file.iso" com o caminho para qualquer arquivo que você deseja ver o hash de:
Get-FileHash C: \ caminho \ para \ file.isoSerádemore algum tempo para gerar o hash do arquivo, dependendo do tamanho do arquivo, do algoritmo que você está usando e da velocidade da unidade em que o arquivo está ativado.
Por padrão, o comando mostrará o hash SHA-256 para um arquivo. No entanto, você pode especificar o algoritmo de hash que deseja usar se precisar de um MD5, SHA-1 ou outro tipo de hash.
Execute um dos seguintes comandos para especificar um algoritmo de hashing diferente:
Get-FileHash C: \ path \ to \ file.iso -Algorithm MD5 Get-FileHash C: \ caminho \ para \ arquivo.iso -Algorithm SHA1 Get-FileHashC: \ path \ to \ file.iso -Algorithm SHA256 Get-FileHash C: \ caminho \ para \ arquivo.iso -Algorithm SHA384 Get-FileHash C: \ caminho \ para \ arquivo.iso -Algorithm SHA512 Get-FileHash C:\ path \ to \ file.iso -Algorithm MACTripleDES Get-FileHash C: \ path \ to \ file.iso -Algorithm RIPEMD160
Compare o resultado da função hash com o resultado que você esperava ver. Se for o mesmo valor, o arquivo não foi corrompido, adulterado ou alterado do original.
macOS
O macOS inclui comandos para visualizar diferentes tipos de hashes. Para acessá-los, inicie uma janela do Terminal. Você encontrará no Finder & gt;Aplicações & gt;Utilitários & gt;Terminal.
O comando md5 mostra o hash MD5 de um arquivo: arquivo
md5 /path/to/O comando shasum mostra o hash SHA-1 de um arquivo por padrão. Isso significa que os seguintes comandos são idênticos:
shasum /path/to/ arquivo shasum -a 1 /path/to/ arquivoPara mostrar o SHA-256 hash de um arquivo, execute o seguinte comando:
shasum -a 256 /path/to/ arquivo
Linux
No Linux, acesse umTerminal e execute um dos seguintes comandos para visualizar o hash para um arquivo, dependendo do tipo de hash que você deseja visualizar:
md5sum Arquivo /path/to/ sha1sum Arquivo /path/to/ sha256sum Arquivo /path/to/
Alguns Hashes estão criptograficamente assinados para ainda mais segurança
Enquanto hashespode ajudá-lo a confirmar que um arquivo não foi adulterado, ainda há uma avenida de ataque aqui. Um invasor poderia obter o controle do site de distribuição de um Linux e modificar os hashes que aparecem nele, ou um invasor poderia realizar um ataque do homem no meio e modificar a página da Web em trânsito se você acessasse o site via HTTP em vez deHTTPS criptografado.
É por isso que as distribuições Linux modernas geralmente fornecem mais do que hashes listados em páginas da web. Assinam criptograficamente estes hashes para ajudar a proteger contra atacantes que possam tentar modificar os hashes. Você quer verificar a assinatura criptográfica para garantir que o arquivo hash tenha sido realmente assinado pela distribuição do Linux se você quiser ter certeza absoluta de que o hash eo arquivo não foram adulterados.
Verificando a assinatura criptográfica é um processo mais envolvido. Leia nosso guia para verificar as ISO do Linux não foram adulteradas para obter instruções completas.
Crédito da imagem: Jorge Stolfi / Wikimedia