Wir haben im Informatikunterricht gerade das Thema Kryptographie und sollten dazu ein kleines eingenes Projekt zu Hause starten welche wir als Extraleistung einreichen können und ich dachte mir, weil es zum Thema kombinatorik befasst habe versuche ich ein Brute Force Programm für Hashfunktionen zu schreiben.
Mein Problem ist nun das sich die zweite Schleife (die for schleife) nicht wiederholt und ich weiß nicht warum ?
Kann mir jemand helfen?
Code: Alles auswählen
import os
import itertools
import hashlib
def abgleich():
zkpwd = 'e22a63fb76874c99488435f26b117e37'
pwdmin = 1
pwdmmax = 6
if os.path.exists('D:/Python36/own_stuff/symbole.txt'):
fm = open('D:/Python36/own_stuff/symbole.txt')
else:
Sym = open(input ('Syboliste: '))
while pwdmin < pwdmmax + 2:
for liste in itertools.permutations(fm.readline(), pwdmin):
string = ''
for i in liste:
string = string + str(i)
hpwd = hashlib.md5(string.encode()).hexdigest()
if hpwd == zkpwd:
print ('passwort:' + i)
break
print (pwdmin)
abgleich()