我需要为学校制作小程序,以蛮力破解不同类型的密码;我期待创建一个暴力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中,并不真正知道如何翻译不同的语言 –
'信件= [str(i)我在范围内('a,b,c,d,e, f,g,h,i,j,k,l,m,n,o,p')]'不会像你想的那样工作.... – MooingRawr