【Python】指定字符密码生成(爆破字典生成)

就是一个回溯算法,写着玩玩

keyi = []
data = []

def whatWord():
    while True:
        word = input("请输入可疑字符,输入shier结束")
        if word == "shier":
            break
        keyi.append(word)

def backtracking(keyi, start, data, count, cout_keyi):
    if (start > cout_keyi-1 and not data) or start > cout_keyi:
        return
    if len(data) == count:
        with open('pass.txt', mode="a") as f:
            f.write(''.join(data))
            f.write('\n')
        return
    for i in range(start, cout_keyi):
        if keyi[i] not in data:
            data.append(keyi[i])
            backtracking(keyi, start, data, count, cout_keyi)
            del(data[-1])

def passMaker(keyi):
    count_keyi = len(keyi)
    for i in range(1, count_keyi+1):
        backtracking(keyi, 0, data, i, count_keyi)
whatWord()
passMaker(keyi)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值