Python生成黑客字典程序(一)
来源:互联网 发布:ug钻孔编程后处理 编辑:程序博客网 时间:2024/05/16 23:02
Python生成黑客字典,首先需要字符串来源
可以使用string包中的printable,具体作用如下:
string.printable为所有字符的集合,包含数字,大小写字母,符号包含空格制表符回车等;
使用string.printable[:-9]可获得: 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~这些符号,因为一般的字典中不会用到空格回车等这些特殊字符,因此只需要前面的字符即可。
要获得数字所组成的字符串集合,即为:string.printable[:10]
要获得字母所组成的字符串集合,即为:string.printable[10:62]
生成字符串通过迭代组合即可以得到所需的字典内容,然后存储下来就可以得到所谓的黑客字典。
迭代过程使用itertools,这部分内容,详情可以自行百度或者Google。
使用方法:python *.py 6 6 Six_nums_dict.txt
其中第一个参数为最短长度,第二个参数为最长长度,第三个参数为存储路径(存储文件)
这样就生成了单个字符长为6的字典,打开Six_nums_dict.txt,即可看到生成信息;
因为一般密码长度不会太长,所以没有必要生成太长的密码,
#!/usr/bin/env python#coding:utf-8#By eathingsimport sysimport stringimport itertoolsdef get_strings():chars=string.printable[:10]strings=[]for i in xrange(min,max+1):strings.append((itertools.product(chars,repeat=i),))return itertools.chain(*strings)def make_dict():f = open(file,'a')for x in list_str:for y in x:f.write("".join(y))f.write('\n')f.close()print 'Done'while True:if len(sys.argv)==4:try:min = int(sys.argv[1])max = int(sys.argv[2])except:print "wrong"sys.exit(0)if min <= max:list_str= get_strings()file=sys.argv[3]make_dict()sys.exit(0)
点击此处下载6位数字组成的字典。
0 0
- Python生成黑客字典程序(一)
- Python学习笔记(四)生成字典
- python生成嵌套字典
- python生成密码字典
- 黑客字典(c#源码)
- Python学习笔记(一)字典排序
- python学习之旅(一)-----字典
- Python数据结构(一)关于字典
- python字典的小程序
- dictionary字典的初步介绍(一) python
- Python学习笔记(一):列表、元组、字典
- 一、python字典之(1)按值查询键
- python(一):字符串、列表、元组和字典
- 生成源码字典的python脚本
- python生成一个字典的嵌套
- Python生成MD5密码字典库
- 黑客字典源码
- Python程序-生成回文
- Javascript面向对象编程(三):非构造函数的继承
- Javascript面向对象编程(二):构造函数的继承
- <mfc深入浅出>学习笔记一
- Python OpenCV 滤波器 使用(八)
- 链表(Java描述)
- Python生成黑客字典程序(一)
- 如何删除bde
- Javascript继承机制的设计思想
- linux ntpdate同步网络时间
- 纵横交错地考查C++功底
- 枚举类型和注解
- Android : assets与res/raw资源目录的区别
- APP国际化
- 《java编程思想系列之1》 一切都是对象