Я работаю над небольшим взломщиком хэш-словаря. Я знаю, что мне нужна многопроцессорная обработка, но сейчас я просто тестирую ее. Моя проблема не в том, что я получаю ошибку;Дело в том, что пароли (или ключевые слова) в моем файле словаря неправильно хэшируются.
import hashlib
print(" _ _ _ ")
print("| | | | | | ")
print("| |__ __ _ ___| |__ ___ _ __ __ _ ___| | _____ _ __ ")
print("| '_ \ / _` / __| '_ \ / __| '__/ _` |/ __| |/ / _ \ '__|")
print("| | | | (_| \__ \ | | | | (__| | | (_| | (__| < __/ | ")
print("|_| |_|\__,_|___/_| |_| \___|_| \__,_|\___|_|\_\___|_| ")
print("")
print("Made By IronKey | python 3.7 ")
hashed = input("ENTER YOUR PASSWORD TO RECOVER: ")
wordlist = input("enter your dictionary: ")
print("")
with open(wordlist) as passList:
for i in passList:
hash1 = hashlib.md5(i.encode())
hash1.hexdigest()
print(hash1.hexdigest())
if str(hash1.hexdigest()) == str(hashed):
print("password is cracked: " + i)
break
print("")
input("press enter to leave")
пример ввода: b81e70651fb13d7d7051cc1684c0f91e (пример хэша для Password234) (если Passowrd234 находится в файле словаря): пароль взломан: Password234
фактический вывод: хэш для Password234 совершенно другой, и возвращает неправильное сравнение!