如何解决如何打印密码组合但每个索引都有自定义约束
| 我正在尝试构建动态密码恢复工具。您可以指定密码以及与未知密码索引相对应的未知字符列表。因此,如果您记住90%的密码,并且不记得几个字母,这将为您带来轻巧的暴力。 我可以将用户提供的密码与未知字符列表结合使用;但是,我一直试图打印每个潜在的密码。 我被困在这里:password = \'Dude123\'
charList = [\'d8\',\'vV\',\'\',\'D8\',\'\']
finalString = [\'\'.join(set((a,b))) for a,b in zip(password,charList)]
print(finalString) #This statement yields the following
[\'Dd8\',\'uv^\',\'d\',\'eD8\',\'1\',\'2\',\'3\']
现在我需要打印:
杜德123
dude123
8ude123
DVD123
dvde123
8vde123
...
或某种效果(它没有以任何特定顺序遍历字符,我只需要列出所有可能的组合即可。
感谢您的任何帮助!
戴夫
解决方法
你的意思是这样吗?
>>> import itertools
>>>
>>> password = \'Dude123\'
>>> charList = [\'d8\',\'vV\',\'\',\'D8\',\'\']
>>>
>>> finalString = [\'\'.join(set((a,b))) for a,b in zip(password,charList)]
>>>
>>> possibles = list(\'\'.join(poss) for poss in itertools.product(*finalString))
>>> possibles
[\'Dude123\',\'DudD123\',\'Dud8123\',\'Dvde123\',\'DvdD123\',\'Dvd8123\',\'DVde123\',\'DVdD123\',\'DVd8123\',\'dude123\',\'dudD123\',\'dud8123\',\'dvde123\',\'dvdD123\',\'dvd8123\',\'dVde123\',\'dVdD123\',\'dVd8123\',\'8ude123\',\'8udD123\',\'8ud8123\',\'8vde123\',\'8vdD123\',\'8vd8123\',\'8Vde123\',\'8VdD123\',\'8Vd8123\']
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。