Мне нужно сделать небольшие программы для школы, чтобы грубой силой взломать разные типы паролей; Я ищу, чтобы создать код python с грубой силой, который будет проходить через все возможные комбинации алфавитных и буквенно-цифровых паролей и дать мне пароль и время, необходимое для взлома.Как создать взломщик паролей Bruteforce для алфавитных и буквенно-цифровых паролей?
Я сделал то же самое с чисто числовых паролей и получил это:
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')
Очень важно, чтобы программа включала либо количество сбоев, либо время, затрачиваемое на поиск пароля, поэтому я не могу просто создать генератор паролей.
Пожалуйста, обратите внимание: Я довольно новый для кодирования, и я очень благодарен за вашу помощь :)
Я предлагаю вам взглянуть на это PHP скрипт, я считаю, это хорошо написано: https://gist.github.com/popc0rn/5859209 –
спасибо @ YannChabot, однако я ищу эту программу на python и не знаю, как переводить между разными языками –
'letters = [str (i) для i в диапазоне ('a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p ')] 'не работает, как вы думаете .... – MooingRawr