O que é hash?

Atribuindo valores numéricos a uma estrutura é possível conferi-la e compará-la mesmo que não tenhamos acesso ao seu conteúdo.
  • Visualizações38.252 visualizações
Por Ana Paula Pereira em 4 de Março de 2009

O que é hash?Exemplo de hash info em arquivo de torrent (Fonte da imagem: Reprodução/The Pirate Bay)

Imagine a seguinte situação: determinado arquivo está sendo compartilhado por torrent. Porém, uma das pessoas modifica o seu conteúdo e continua distribuindo-o pela rede. Dessa forma, quem fizesse o download desse conteúdo acabaria, no fim, com um arquivo adulterado, podendo estar corrompido ou, até mesmo, escondendo algum tipo de malware.

Para garantir a integridade dos dados compartilhados, os clientes de torrent usam um “truque” muito esperto: ao gerar o arquivo original, o software calcula uma sequência única de letras e número e a atribui aos arquivos ou pastas que começarão a ser compartilhados.

Assim, antes de alguém começar a baixar aquele conteúdo, o programa utilizado pede a mesma sequência de letras e números para a máquina que está servindo o arquivo: se a sequência estiver diferente, significa que o arquivo foi alterado e que não deve ser baixado. Caso a conferência esteja correta, a transferência é iniciada.

Essa sequência é conhecida como “Hash info” e pode ser facilmente verificada em indexadores como o The Pirate Bay, exibido na imagem acima. Porém, o uso dessa técnica vai muito além dos torrents e é conhecida no mundo da informática como hash ou hashsum.

Hash: garantia de integridade dos dados

Ao baixar uma imagem ISO, como o DVD de instalação de uma distribuição do Linux, por exemplo, o mesmo tipo de conferência pode ser feita. Antes de gravar a mídia e iniciar a instalação, convém sempre conferir se o hash (ou checksum) atribuído à imagem original é o mesmo da cópia presente no disco rígido da sua máquina. Se a sequência de números e letras for igual, o arquivo não foi corrompido e é uma cópia perfeita do conteúdo online.

O que é hash?Exemplo de comparação mal sucedida pelo HashX (Fonte da imagem: Tecmundo/Baixaki)

Essa sequência alfanumérica, conhecida entre os programadores como string, é calculada e conferida por meio de comandos ou programas que acompanham os sistemas operacionais mais modernos, podendo também ser produzidos por terceiros, como o HashX, File Verifier ++ ou HKsFV.

Senhas ficam mais protegidas em forma de hash

Graças ao hash, sistemas computacionais não precisam armazenar as senhas dos usuários cadastrados na máquina em texto puro, ou seja, de maneira legível. Caso contrário, bastaria abrir esse arquivo ou tabela de banco de dados para ter acesso às senhas de todo mundo.

O que é hash?Comparar hashes é mais fácil do que verificar bit a bit (Fonte da imagem: ShutterStock)

Por isso, para saber se o que você digitou no campo password está correto, o sistema calcula o hash da senha informada. Se ela estiver de acordo com o hash da senha cadastrada, você poderá usar o computador normalmente. Caso contrário, o sistema informa que o password digitado é inválido.

Note que, em todo esse processo, a senha em si não é usada pelo sistema, mas sim uma string única atribuída a ela. O hash também é empregado nas assinaturas digitais, e você pode saber mais sobre elas lendo o artigo publicado pelo Tecmundo.



Viu algum erro ou gostaria de adicionar uma sugestão para atualizarmos esta matéria?
Colabore com o autor clicando aqui!