Мне нужно сделать небольшие программы для школы, чтобы взламывать разные типы паролей; Я хочу создать код Python для грубой силы, который будет выполнять все возможные комбинации буквенных и буквенно-цифровых паролей и давать мне пароль и количество времени, которое потребовалось для взлома.
Я сделал то же самое с чисто числовыми паролями и получил это:
import datetime as dt
Password4 = 123456
def crack_password():
start = dt.datetime.now()
for n in range(1000000):
password_guess = '{0:04d}'.format(n)
if password_guess == str(Password4):
end = dt.datetime.now()
print("Password found: {} in {}".format(password_guess, end - start))
break
guesses = crack_password()
Затем я попытался сделать что-то похожее для алфавитно-цифровых паролей, но не сработало, что бы я ни пытался:
import random
letters = [str(i) for i in range('a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p')]
s = [''.join([a,b,c,d,e,f,g,h]) for a in letters for b in letters for c in letters for d in letters for e in letters for f in letters for g in letters for h in letters]
random.shuffle(s)
real_password = 'aaaaaaaa'
i = 0
for code in s:
if code == real_password:
print()
print('The password is: ', code)
break
else:
i += 1
print(i, ' failures', end='\r')
Крайне важно, чтобы программа включала либо количество сбоев, либо время, необходимое для подбора пароля, поэтому я не могу просто сделать генератор паролей.
Обратите внимание: я новичок в кодировании и очень благодарен за вашу помощь :)
letters = [str(i) for i in range('a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p')]
не работает, как вы думаете.... - person MooingRawr   schedule 26.10.2016letters = 'abcdefghijklmnopqstuvwxyz'
это то, к чему вы стремитесь - person Patrick Haugh   schedule 26.10.2016