Kod:
import urllib, urllib2, re #Kullanilacak moduller girildi.
while True:
sifre = raw_input("Kırılması istenilen MD5 değerini giriniz: ") #Kullanicidan md5 degeri istendi.
site = "http://md5.my-addr.com/md5_decrypt-md5_cracker_online/md5_decoder_tool.php" #Kullanilacak site
data = urllib.urlencode({"md5":sifre}) #Sifre kismina gonderildi.
request = urllib2.Request(site) #Siteye request atildi.
response = urllib2.urlopen(request, data) #URL acildi.
payload = response.read() #Site tarafindan okunu.
results = re.findall("<div class='white_bg_title'><span class='middle_title'>Hashed string</span>: (.*?)</div>", payload) #MD5 degerini sitede arayip buldu.
result2 = re.findall('''<div class='error_title'>String "(.*?)" is not MD5 hash</div>''', payload) #Girilen ifadenin MD5 degeri olmadigini soyluyor.
result3 = re.findall('''<div class='error_title'>Hash "(.*?)" not found in database</div>''', payload) #MD5i crackleyemedi.
if sifre.isalnum() and len(sifre) == 32 and sifre !="" and sifre !="\n":
if not results:
print sifre+", Bu MD5 değeri veritabanında bulunamadı. :( \n" #Bulunamadiginda verilecek hatamiz.
pass
else:
for result in results:
print sifre+" için MD5 değeri : "+result+ "\n" #Bulundugunda verecek tepki.
islem = raw_input("Çıkmak için 'Q', devam etmek için 'E'ye basın :") #Devam edip etmeyecegine dair aldigimiz kullanici degeri.
islem.lower()
if islem=="Q":
break
else:
print "\n"
continue
elif sifre.isalnum() and len(sifre) == 40 and sifre !="" and sifre !="\n":
for rslt2 in result2:
print rslt2+", Bu ifade bir MD5 değeri değil. Bu ifade bir SHA1 değeridir. \n" #Eger MD5 degeri degilse ve SHA1 ise verecegi deger.
islem = raw_input("Çıkmak için 'Q', devam etmek için 'E'ye basın :") #Devam edip etmeyecegine dair aldigimiz kullanici degeri.
islem.lower()
if islem=="Q":
break
else:
print "\n"
continue
else:
print sifre+", Bu ifade bir MD5 değeri değil.\n" #MD5 degilse ve SHA1 de degilse verecegi deger.
islem = raw_input("Çıkmak için 'Q', devam etmek için 'E'ye basın :") #Devam edip etmeyecegine dair aldigimiz kullanici degeri.
islem.lower()
if islem=="Q":
break
else:
print "\n"
continue