破譯密碼問題
在破譯密碼上,是文字串逐個破還是生成密碼本逐個比照破譯好?# f = open('passdict.txt', 'w')
# for id in range(1000000):
# password = str(id).zfill(6) + '\n'
# f.write(password)
# f.close()
f = open(r'C:\Users\pythonProject\passdict.txt')
a = input('請輸入6位密碼(數字):')
counts = 0
while counts >= 0:
for x in f.readlines():
x = x.strip("\n")
if x == a:
print(x)
break
else:
counts = counts + 1
這個是先生成 000000 - 999999 的密碼本再逐一提取字串比對破譯
問題1
若我要生成包含大小寫英文及數字的密碼本...要如何生成? python做得到嗎?
問題2
若我只知道密碼由英文大小寫及數字組成,多少位密碼都不知道的情況下要怎麼破譯?
大小寫英文+數字,每個字比對,==的話就記錄起來 直到最後一個字元比對不上結束
然後print出字串?
1、能做到(代码被审核了,发不上)
2、位数不知道,只能一位、二位、三位这样比较吧 len(list)不就知道幾位數了?
再來就是設置浮動的破譯代碼
就是位數知道後自動開始跑該位數的試錯~
試對就紀錄下來
然後全部記錄好後print password list
我的想法是這樣啦~
只不過""位數知道後自動開始跑該位數的試錯~""
大小寫a~z + 0~9 共計62個字元
如何設置非固定位元的字元比對?
可以暴力破解,生成所有可能的密码,python中用for循环嵌套就行,或者位数不固定用itertool的combinations
页:
[1]