Это новый скрипт, я просто добавил
if wordlistHash == passwordHash:
print(f"Found password: {word}")
break
после каждого оператора if-elif
, в противном случае программа будет отображать пароль только в том случае, если ввод неверен (потому что вы помещаете его в последний else заявление). Не знаю, понятно ли мне, надеюсь, это поможет, вот новая программа:
import hashlib
import itertools
def bruteforce(passwordHash, hashtype): #bruteforce not working?
wordlist = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+{}:;',./?-="
y=''
length=1
wordlistHash=''
passwordHash=passwordHash
while wordlistHash != passwordHash:
for c in itertools.product(wordlist, repeat=length):
word = y.join(c)
if hashtype == 'sha256':
wordlistHash = hashlib.sha256(word.encode("utf-8")).hexdigest()
print(f"Trying password: {word}:{wordlistHash}")
if wordlistHash == passwordHash:
print(f"Found password: {word}")
break
elif hashtype == 'md5':
wordlistHash = hashlib.md5(word.encode("utf-8")).hexdigest()
print(f"Trying password: {word}:{wordlistHash}")
if wordlistHash == passwordHash:
print(f"Found password: {word}")
break
elif hashtype == 'sha1':
wordlistHash = hashlib.sha1(word.encode("utf-8")).hexdigest()
print(f"Trying password: {word}:{wordlistHash}")
if wordlistHash == passwordHash:
print(f"Found password: {word}")
break
else:
print("Please either enter a sha256, md5 or sha1 hash and restart the script")
exit()
length=length + 1
bruteforce('8B7DF143D91C716ECFA5FC1730022F6B421B05CEDEE8FD52B1FC65A96030AD52', 'sha256')