Denn ich soll für die Uni ein Brute-Force Programm schreiben, das danach das pw mit einem gegebenen sha1 wert vergleicht, klingt einfach, aber genau da liegt der gepfefferte Hase... Denn genau das vergleichen der beiden sha1 Werte will mein Programm patu nicht machen.
Er gibt mir aber auch keine Fehlermeldung aus. mein BruteForce läuft fröhlich durch die kombinationen und auch wenn das richtige pw dabei ist, ignoriert er das und rennt einfach weiter. So. Ihr seid meine lezte Hoffnung, ich hab langsam keinerlei Ideen mehr.
ich versuche das hier mal einzufügen:
Code: Alles auswählen
import string
from itertools import product
import hashlib
import itertools
user_password = 'db23fe065e9f857e4cd3398a25299be0bc383c2b' # test password Ute
found = False
zeichen = itertools.permutations("a-zA-Z0-9")
for length in range(1, 11):
password_to_attempt = product(string.ascii_letters + string.digits, repeat=length)
for attempt in password_to_attempt:
attempt = ''.join(attempt) # <- Join letters together
#print(attempt)
attempt_sha1 = attempt.encode('utf-8')
sha_1 = hashlib.sha1()
sha_1.update(attempt_sha1)
attempt_sha1 = sha_1.hexdigest()
print(attempt)
print(attempt_sha1)
print(user_password)
if attempt_sha1 == user_password:
print("Utes password is: " + attempt)
found = True
if found:
break