Я работаю над инструментом взлома паролей, используя Python. Процесс работы: -> Пользователь даст md5 ha sh в качестве ввода. -> Затем программа просматривает указанный файл, содержащий список слов, и ищет правильное совпадение для заданного md5 ha sh. -> Если найдено правильное совпадение, возвращается слово (пароль), иначе возвращается «Пароль отсутствует в списке».
Я привел свой код ниже:
import hashlib
flag = 0
pass_hash = input("Enter md5 hash: ")
wordlist = input("File name: ")
try:
pass_file = open(wordlist, "r")
except:
print("No file found")
quit()
for word in pass_file:
enc_wrd = word.encode('utf-8')
digest = hashlib.md5(enc_wrd.strip()).hexdigest()
if digest == pass_hash:
print("Password found")
print("Password: ",word)
flag = 1
break
if flag == 0:
print("Password is not in the list")
Это ошибка, которую я получаю:
Traceback (most recent call last):
File "/Users/admin/Desktop/Pythontests/passwordcracker/passcrack.py", line 15, in <module>
for word in pass_file:
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe4 in position 5884: invalid continuation byte
Мне нужно решение этой ошибки. Любая помощь будет оценена. Спасибо.