Site ou programa para descobrir senha que foram encriptadas com MD5?

Olá,
alguém conhece algum site que consegue desvendar a senha encriptada com MD5 ?

Fabrício,

MD5 é um algoritmo de hashing, ou seja, não é reversível. Por esse motivo, não é possível obter a string original a partir da string encriptada. O que existe é um algoritmo para encontrar colisões, apresentado em alguns papers. Porém, esse algoritmo não garante que você consiga obter a string original, mas uma que gera o mesmo hash. Procure por MD5 collisions no google, se o que você quer é apenas encontrar uma “senha válida” para o hash que está no banco. Se você quer isso para descobrir senhas perdidas, infelizmente não é possível.

O MD5 é um algoritmo de mão única, não existe algoritmo para; dado um hash feito com MD5, retornar a palavra original, só por tentativa e erro e força bruta.

O que você pode fazer é usar um dicionário e verificar se algum dos MD5 bate.

Por exemplo, associe as senhas abaixo :

14 08 64 07 8a ec a1 c7 c3 5b 4b eb 33 c5 3c 34
30 3c b0 ef 9e db 90 82 d6 1b bb e5 82 5d 97 2a
74 75 a6 24 94 ff 15 0c fc ba 68 b0 a7 69 59 47
d5 23 87 88 0e 1e a2 28 17 a7 2d 37 59 21 38 19
d7 ef a1 9f be 7d 39 72 fd 5a db 60 24 22 3d 74
ef 65 72 e4 cd 58 bb 39 a3 f4 e8 2f c6 4f e9 f0

às palavras:

Java
C#
.NET
Microsoft
Sun

(Exercício: Descubra a senha faltante. Tem algo a ver com Java, e se parece com um pingüim - pelo menos é o que disseram no Sun Tech Days)

Como disseram não dá pra voltar. E acho que ta errado falar que o MD5 encripta alguma coisa, ele não faz isso, ele só faz o hash, não tem ligação com criptografia.

thingol, Duke?

ligação tem… hash é uma das primitivas criptográficas, assim como os block (DES) e stream (RC4) ciphers, 2 keys ciphers (RSA,Curvas Elípticas,etc), entre outras… Mas concordo, ele não “encripta” nada.

disclaimer - se a parada for ilegal, não me conte - mas se rolar um troco estou nessa :slight_smile:

140864078aeca1c7c35b4beb33c53c34 Microsoft
303cb0ef9edb9082d61bbbe5825d972a .Net
7475a62494ff150cfcba68b0a7695947 Duke
d52387880e1ea22817a72d3759213819 Java
d7efa19fbe7d3972fd5adb6024223d74 C#
ef6572e4cd58bb39a3f4e82fc64fe9f0 Sun

Se o problema é força bruta…

http://md5.rednoize.com

Não tem um universo completo, mas para chaves simples quebra um galho.

É Duke mesmo.

Esse é um ponto fraco do MD5 - você pode ir tentando as senhas “na marra”.

[quote=IndyanaJones]
Se o problema é força bruta…

http://md5.rednoize.com

Não tem um universo completo, mas para chaves simples quebra um galho. [/quote]

Cool - a idéia é boa mesmo.

http://palisade.plynt.com/issues/2005Aug/browser-refresh/ indica o uso do “salted md5” que é uma forma de diminuir esse problema de obter uma palavra, via dicionário, sabendo seu MD5.

Hey… ainda bem que nao eh reversivel, mas eu li no slashdot (nao lembro quando, nem onde exatamente) que (jah faz um tempo) houve um problema com MD5 pois o primeiro conflito de hashs ou algo do tipo tinha ocorrido… e sido identificado, tornando o tao famoso MD5 nao tao impossivel de ser reversivel ou algo assim… sinceramente espero que nao tenha um jeito de reverter esse algoritmo, pq senao… lah se vao milhares de senhas de forums no minimo! hehehe

eh confuso mesmo pq estah num canto da memoria que eu nao acesso tao frquentemente hehe

O MD5 não é reversível (pelo princípio da contagem), mas podem ser achadas colisões com probabilidade maior que a dada pelo paradoxo do aniversário (ou seja, se o MD5 tem 128 bits, se ele fosse perfeito seria possível achar colisões com a probabilidade de 2 ^ -64 = 5,4210108624275221700372640043497e-20 ; mas como ele não é perfeito a probabilidade é bem maior).
Mas para efeitos práticos você não precisa se preocupar com colisões, mas com o efeito do dicionário - esse site que foi mencionado tem um dicionário com 4 milhões de entradas.
Digite um MD5 e provavelmente ele lhe dará a resposta correta, se ele encontrar no banco de dados. (Digo “provavelmente” porque a probabilidade de encontrar uma resposta que não corresponde à esperada deve ser um pouco maior que 2 ^-128 ou 2 ^-64 (não sei se o paradoxo do aniversário se aplica aí ou não).

Em tempo, eu costumo usar o SHA :slight_smile:

E qual é o melhor atualmente?SHA-1
Tô querendo fazer um md simples para por lá no braziltutils, mas não tenho a menor experiência na área de hashes/md.Thiiiingol…

Não é errado, errado seria se eu dissesse que seria possível desincriptar.
MD5 no wikiipedia:

É usada para criptografia.
Mas minha dúvida, se MD5 ainda é seguro ? Existe algum fato de decifrar códigos que utilizaram MD5 ?

Alguém conhece ou já usou esse ?
http://homes.esat.kuleuven.be/~bosselae/ripemd160.html

Para hashes, use algum da nova família do SHA: SHA-512, SHA-384, SHA-256 (respectivamente 512, 384 e 256 bits) Eles estão disponíveis no BouncyCastle, e se você quer uma solução que possa funcionar a partir do JDK 5.0 sem ter de instalar nada, pode usá-los (exemplo: MessageDigest sha512 = MessageDigest.getInstance (“SHA-512”))

han…

Uma coisa que é preciso pensar é algo do tipo:
“E daqui a 10 anos, esse tipo de criptografia ainda é seguro?”
“Na era dos computadores quanticos, vale a pena utilizar uma criptografia de 128, 256 e 512 bits?”

Sei que muitas aplicações vão estar mortas daqui a 10, 20 anos, mas muitas outras ainda vão estar na ativa.

hehehe Já era foi uma vez não volta mais… :?

Eu não tenho tanta certeza assim silveira

se MD5 fosse reversivel, seria o melhor compactador de dados de todos os tempos

imagina só… nao interessaria o tamanho do seu arquivo, vc o converteria para 32 bytes… hahahah…