一、密码字典
所谓密码字典,主要是配合解密使用,一般情况用来暴力破解密码,是由指定字符排列组合组成的文本文件。如果知道密码设置的规律指定性生成密码,会对破解密码有决定性的帮助!!
二、字典生成
1.生成6位数小写字母+数字密码字典
代码如下(示例):
1
2
3
4
5
6
7
8
9
10
11
|
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.选择模式运行
1
2
3
|
python dictionary.py default python dictionary.py numonly python dictionary.py letteronly |
代码如下(示例):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
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密码字典内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/qq_45365214/article/details/123274975