O MD5 é um algoritmo de hashs de 128bits que foi desenvolvido pela RSA Data Security, com ele é possível gerar uma hash de 32 caracteres independente do formato, nome ou tamanho do arquivo, ou seja, utilizando o algoritmo MD5 é possível gerar uma hash de um arquivo de imagem ou até mesmo de uma palavra como “Hacker“, em ambos os casos o resultado será uma hash de 32 caracteres totalmente diferente.
A vantagem desse tipo de algoritmo é que cada hash gerada de um arquivo será totalmente diferente da hash gerada de um outro arquivo, mesmo se a diferença entre as duas fontes da hash for apenas um numero, por exemplo, veja abaixo duas hashs MD5:
Mundo Dos Hackers: 767555cc34e76dfcbab3d91d64fad4e9
Mundo Dos Hackers1: 9d3a6e320f16cf0c091dd1ee25a1c5e9
Veja que adicionando apenas o numero 1 na frase Mundo Dos Hackers, a hash gerada já foi totalmente diferente.
Por gerar hashs totalmente diferentes e “únicas”, o MD5 é muito utilizado para a verificação da integridade de qualquer tipo de dado, podemos usar como exemplo as distribuições Linux. Na página de downloads do BackTrack, que é uma distribuição Linux, você encontra o link para download e a hash MD5 da imagem do BackTrack, sendo assim, depois de fazer o download do arquivo, você pode gerar a hash MD5 da imagem que você baixou e verificar se ela é igual a hash MD5 informada na página de download do BackTrack, se for a mesma, isso significa que o arquivo que você baixou é idêntico ao arquivo original, o que é ótimo, agora se a hash for diferente, quer dizer que houve algum problema, que pode ser desde uma falha no download até uma modificação proposital, feita por um hacker em um ataque a sua rede ou ao seu PC.
Agora que já sabemos o que é e para que serve o MD5, vamos a prática.
Para gerar hashs MD5, você deve utilizar o programa MD5sum, nesse exemplo eu vou mostrar como gerar uma hash MD5 no Linux e no Windows, apesar dos comandos serem os mesmos.
No Linux:
A maioria das distribuições Linux já vem com o MD5sum instalado de forma nativa, por tanto basta você dar o comando md5sum -b nome_do_arquivo lembrando que se o nome do arquivo tiver espaços, é preciso coloca-lo entre aspas duplas, como no exemplo abaixo.
O comando acima, mostra a hash gerada no próprio terminal, caso você queira gerar a hash em um arquivo de texto, basta dar o comando md5sum nome_do_arquivo > hash.txt , nesse caso a hash gerada será colocada no arquivo de texto hash.txt .
No Windows:
O Windows não possui o MD5sum instalado de forma nativa, mas você pode baixá-lo clicando aqui. O MD5sum roda direto do executável, sem precisar instalar, por tanto, abra o seu prompt de comando (Iniciar / Todos os Programas / Acessórios / Prompt de comando), vá até a pasta em que o MD5sum esta e de o comando md5sum -b nome_do_arquivo .
No meu caso eu fui até a pasta Desktop, que é onde o meu MD5sum esta e depois dei o comando. Para gerar um arquivo de texto com a hash basta dar o mesmo comando que foi dado no Linux.
Agora que você gerou a hash MD5 do arquivo baixado, basta você comparar com a hash MD5 do arquivo original, se for igual o arquivo é o mesmo, se for diferente, baixe o arquivo novamente.
Em um outro post eu falarei mais sobre o algoritmo MD5, como por exemplo a sua vulnerabilidade que permite com que dois arquivos totalmente diferentes tenham a mesma hash, para você ter uma idéia, é possível fazer com que um vírus tenha a mesma hash MD5 de um arquivo inofensivo como um arquivo de texto, é isso ai pessoal, bem vindos ao mundo dos hackers :D.
Não deixem de comentar ;)!!!
parabens pela matéria paulo!!!