python如何实现穷举法暴力破解密码

用python穷举法破解密码,数字和字母是没问题了,但特殊字符应该怎么办,还没学会,求告知

img

用ascll码对应符号进行遍历

key = input('请输入六位数密码:')  #填写密码用来破解
while len(key)!=6:
    print('密码不合法,请重新输入!')
    key = input('请输入六位的密码:')
key = list(key)
print('设置的密码为:',key)
my_str = []
result = ['0','0','0','0','0','0']

#产生数组进行比对                                       a = random.choice(my_str)
for j in range(48,123):
    if j  in [58,59,60,62,63,64,91,92,93,94,95,96]:
        continue
    if j==35 or j==38 or j==42 or j==43 or j==45 or j==47: 
        my_str.append(chr(j))
# print(my_str)

for i in my_str:
    result[0] = i
    for j in my_str:
        result[1] = j
        for k in my_str:
            result[2] = k
            for l in my_str:
                result[3] = l
                for m in my_str:
                    result[4] = m
                    for n in my_str:
                        result[5] = n
                        if result == key:
                            print('破解成功!密码为:',result)
                            break
                        else:
                            print('失败',result)
                    else:
                        continue
                    break
                else:
                    continue
                break
            else:
                 continue
            break
        else:
            continue
        break
    else:
        continue
    break


img

无非是多一个for循环,特殊字符构建一个列表或者字符串,遍历元素就可以了