Como gerar e checar hashs MD5



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 ;)!!!

26 Comentários para “Como gerar e checar hashs MD5”

Felipe Magnum

3 de abril de 2012 ás 14:59hs

parabens pela matéria paulo!!!

jghacker

3 de abril de 2012 ás 22:13hs

pow mt massa deu pra esclarecer mt…
tô loquinho pra ver a próxima….

Polla

15 de maio de 2012 ás 15:39hs

Parabéns, show,

Cristian

24 de junho de 2012 ás 17:43hs

Paulo. Me diz uma coisa, como eu vejo o hash de senhas em um PC … teria como eu ver o meu hash de senha?

    28 de junho de 2012 ás 15:07hs

    Se você utiliza Linux o arquivo de senhas fica em /etc/passwd .

    Abração!!!

Quemis

18 de julho de 2012 ás 12:35hs

Parabens, bastante exclarecedor. Estou acompanhando voces o maximo que posso.

    19 de julho de 2012 ás 0:42hs

    Valeu Quemis, em breve estaremos postando algumas novidades.

    Abração!!!

InvL0n3r

2 de setembro de 2012 ás 12:20hs

você são o máximo!!

welgil8

5 de setembro de 2012 ás 22:25hs

Eu gostaria de saber como tirar o hash MD5 (ou CRC, SHA1, etc…..) de uma pasta, estando ela vazia ou com qualquer coisa que seja! Isso é possível ou não??

Eu baixei 2 DVDs de video-aulas de C# e o soft 7-zip mostrou o CRC da pasta descompactada! Eu gostaria de saber como que o 7-zip fez isso, pois eu sei que só é possivel tirar hash de arquivos!

Agradecido pela atenção!

    10 de setembro de 2012 ás 21:30hs

    Tem certeza que o hash é da pasta, porque só da para gerar uma hash o algoritmo faz grupos de bytes com os próprios bytes do arquivo, ou seja, precisa ser um arquivo.

    Abração!!!

8 de setembro de 2012 ás 9:35hs

muito bom, parabéns pelo ensinamento. sempre aprendo algo novo aqui.

renato

28 de novembro de 2012 ás 15:08hs

sou novo no ramo e me interessei bastante pela materia, tem como voce me enviar um tuturial de comandos.
obrigado abaço.

    28 de novembro de 2012 ás 18:42hs

    Os comandos estão acima no tutorial.

    Abração!!!

Luis

1 de dezembro de 2012 ás 10:01hs

Olá Paulo,
toda vez que baixo novas versões de ubuntu, mint e outros para testar, me vejo pequeno na hora de conferir o md5 do iso baixado com o da fonte, nos links que encontro parecem tão fácil mas na hora de fazer não consigo, se uma hora dessas lhe der inspiração mande um tuto, vai ser bom, principalmente a parte de copiar da fonte e comparar com o baixado com o comando diff.
Valeu

    3 de dezembro de 2012 ás 13:30hs

    O tutorial acima mostra como gerar e checar hashs MD5 :o.

    Abração!!!

Luis

1 de dezembro de 2012 ás 11:25hs

Eu de novo, acho que consegui,
na pasta de downloads(linux) ficam os Iso’s baixados, então faço o seguinte, abro o terminal e mando cd Downloads, crio uma pasta com” cat > mint32.txt ” e dou enter, aqui o cursor vai ficar esperando conteúdo já com o arquivo mint32.txt criado neste momento, então marco com o mouse o md5 da fonte e copio e colo neste arquivo, ok, depois saio deste arquivo com ctrl c e dou o comando md5sum (nome do iso baixado) >> mint32.txt , assim o md5 do arquivo baixado vai ficar exatamente embaixo do md5 copiado e colado antes e visualmente se pode comparar com “cat mint32.txt”
a outra forma que consegui foi criar arquivo com ” cat > mint64fonte.txt ” enter, copiar e colar md5 da fonte de download e sair, depois dar o comando “md5sum (nome da iso baixada) > mint64.txt ” , feito isso, chama-se o nano com o cmoando “nano mint64.txt” , vai mostrar o md5 criado com o nome, apaga-se o nome e salva e sai do nano com ctrl o para salvar e ctrl x para sair, então compara-se com o comando “diff mint64.txt mint64fonte.txt” , o resultado foi 1c1 que não entendo o que é e pude comparar também visualmente, confirmado, basta queimar o cd ou dvd lembrando de marcar ISO e seguir adiante, valeu pelas dicas Paulo, vamos q vamos.

Luis

1 de dezembro de 2012 ás 11:30hs

ops, e continua, será preciso conferir se a gravação no cd/dvd ficou boa, é Paulo, um tutorial será muito bem vindo.
Abraço

17 de dezembro de 2012 ás 8:29hs

eu tenho pesquisado bastante sobre isso ta bem explicado aqui obrigado 🙂

Allan

10 de fevereiro de 2013 ás 3:35hs

Paulo a versão CL para Windows não funciona para palavras ou URLs.

Usage: md5sum.exe [OPTION] [FILE]…
or: md5sum.exe [OPTION] –check [FILE]
Print or check MD5 checksums.
With no FILE, or when FILE is -, read standard input.

-b, –binary read files in binary mode
-c, –check check MD5 sums against given list

The following two options are useful only when verifying checksums:
–status don’t output anything, status code shows success
-w, –warn warn about improperly formated MD5 checksum lines

–help display this help and exit
–version output version information and exit

The sums are computed as described in RFC 1321. When checking, the input
should be a former output of this program. The default mode is to print
a line with checksum, a character indicating type (`*’ for binary, ` ‘ for
text), and name for each FILE.

WARNING: You are using a specially adapted copy of md5sum. This version
has been modified as follows:
1) Only ever use binary mode
2) Be more liberal about line endings in files used by –check
3) Built-in Win32 file wildcard matching (globbing)
This version was compiled by bruce@gridpoint.com for the
People for a Clearer Phish. Source code changes are available
from Bruce upon request.

Filip

17 de março de 2013 ás 21:12hs

Valeu pelo tutorial!

9 de novembro de 2013 ás 18:50hs

Não funcionou aqui. Dá a seguinte mensagem: No such file

Digitei o nome do arquivo “mundo dos hackers” e ate no hash não salva nada além de um notepad em branco.

Me ajuda ai ?

    23 de novembro de 2013 ás 17:37hs

    Mas você tem o arquivo “mundo dos hackers” ai no seu PC? Você deve digitar o nome de um arquivo que esteja no seu PC.

    Abração!!!

17 de agosto de 2016 ás 18:51hs

Olá e de um email como faço

Deixe seu Comentário

Comentários Recentes

  • Paulo Tacio: Sim, isso é possível. Qualquer aparelho que...
  • Paulo Tacio: Sim, você terá as aulas para sempre! Qualq...
  • Paulo Tacio: Senhas que utilizem letras minúsculas, maiú...
  • Paulo Tacio: Na verdade, a compressão de um arquivo, dep...
  • antonio jose: tem progamas de super comprimir arquivos ? ...

Galeria de Imagens

Ver mais imagens