python - MD5 Cracker not working python3 -
md = input("md5 hash: ") if len(md) != 32:     print("don't md5 hash.") else:     liste = input("wordlist: ")     ac = open(liste).readlines()     new in ac:         hs = hashlib.md5(new.encode()).hexdigest()         if hs == md:             print("md5 hash cracked : ", new)      print("sorry :( don't cracked.") executing not working. wordlist:
sadasda asdasda sdasd da sdasd asd ahmet asdasf knknkjnbhb klasda output:
md5 hash: cdb5efc9c72196c1bd8b7a594b46b44f wordlist: md.txt sorry :( don't cracked. where did mistake? can't see. wordlist if only:
ahmet output:
md5 hash: cdb5efc9c72196c1bd8b7a594b46b44f wordlist: md.txt md5 hash cracked :  ahmet sorry :( don't cracked. 
the lines file include newline. newline significant:
>>> hashlib import md5 >>> md5(b'ahmet').hexdigest() 'cdb5efc9c72196c1bd8b7a594b46b44f' >>> md5(b'ahmet\n').hexdigest() 'ac5bd810592f14278b5e06fc20d88c23' remove newline first:
hs = hashlib.md5(new.rstrip('\n').encode()).hexdigest() rather have python decode file lines, encode again, open file in binary mode. can loop on file directly, no need call fileobj.readlines() here:
with open(liste, 'rb') ac:     line in ac:         line = line.rstrip(b'\n')         hs = hashlib.md5(line).hexdigest()         if hs == md:             print("md5 hash cracked : ", line.decode('utf8')) i've added decoding of line too, printing.
Comments
Post a Comment