一、密码字典
所谓密码字典,主要是配合解密使用,一般情况用来暴力破解密码,是由指定字符排列组合组成的文本文件。如果知道密码设置的规律指定性生成密码,会对破解密码有决定性的帮助!!
二、字典生成
1.生成6位数小写字母+数字密码字典
代码如下(示例):
import itertools as its words = 'abcdefghijklmnopqrstuvwxyz1234567890' ?#采用的字符 r = its.product(words, repeat=6) ?# repeat 要生成多少位的字典 dic = open("pass.txt", "a") ? ?#保存 for i in r: ? ? dic.write("".join(i)) ? ? dic.write("".join("\r")) dic.close()
2.选择模式运行
python dictionary.py default python dictionary.py numonly python dictionary.py letteronly
代码如下(示例):
import itertools as its import argparse def run_default(length,filename): ? ? global words ? ? ''' ? ? words='ha' ? ?? ? ? if numonly == True: ? ? ? ? words="1234567890" ? ? else: ? ? ? ? words="1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM" ? ? ''' ? ? words="1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM" ? ? r =its.product(words,repeat=length) ? ? dic = open(filename,'a') ? ? for i in r: ? ? ? ? dic.write("".join(i)) ? ? ? ? dic.write("".join("\n")) ? ? dic.close() def run_numonly(length,filename): ? ? global words ? ? words="1234567890" ? ? r =its.product(words,repeat=length) ? ? dic = open(filename,'a') ? ? for i in r: ? ? ? ? dic.write("".join(i)) ? ? ? ? dic.write("".join("\n")) ? ? dic.close() def run_letteronly(length,filename): ? ? global words ? ? words="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM" ? ? r =its.product(words,repeat=length) ? ? dic = open(filename,'a') ? ? for i in r: ? ? ? ? dic.write("".join(i)) ? ? ? ? dic.write("".join("\n")) ? ? dic.close() if __name__ == "__main__": ? ? choices={"default":run_default,"numonly":run_numonly,"letteronly":run_letteronly} ? ? parser=argparse.ArgumentParser(description='快速生成密码字典') ? ? parser.add_argument('model',choices=choices,help='选择哪个模式运行') ? ? parser.add_argument('--length',metavar='length',type=int,default=3,help="密码字典内密码的长度") ? ? parser.add_argument('-filename',metavar='filename',type=str,default='password.txt',help="密码字典文件昵称") ? ? #parser.add_argument('-numonly',metavar='numonly',type=bool,default=False,help="是否只含有数字") ? ? args=parser.parse_args() ? ? func=choices[args.model] ? ? func(args.length,args.filename)
到此这篇关于 python 如何生成密码字典的文章就介绍到这了,更多相关python密码字典内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did99554