Python实现生成密码字典的方法示例


Posted in Python onSeptember 02, 2019

本文实例讲述了Python实现生成密码字典的方法。分享给大家供大家参考,具体如下:

key_data.py 文件存放组成数据,可以随时扩充及简化。

#coding=utf-8
#!/usr/bin/python
def year():#返回字符串类型的年份列表
  year = range(1984,2018)# 常用年份列表
  year_str = []
  for y in year:
    year_str.append(str(y))
  return year_str
def month_or_day(n):#生成字符串类型的月份、日期
  mlist = range(1,n+1)
  newmlist =[]
  for i in mlist:
    m = '0'*(2-int(len(str(i))))+str(i)
    newmlist.append(m)
  return newmlist
years = year()#常用年份
months = month_or_day(12) #所有月份
days = month_or_day(31) #所有日期
most_str = ['!','*','#','_','.','@']# 常用特殊符号
#常见姓氏
first_name = ['li','ma','wu','xu','hu','tan','he','liu','sun','gao','luo','zheng','guo',
     'zhu','wang','zhao','yang','zhou','song','deng','zhang','huang','liang']
#常见名字
second_name = [
  'bo','bi','bai','bei','bao','ban','bin','bang','bing','biao',
  'ci','cai','can','cen','cun','ceng','cong','che','chi','chu','chao','chan','chen','chong','chuang',
  'de','di','du','dai','dao','dan','dong','ding',
  'fa','fu','fei','fan','fen','feng','fang',
  'gu','gui','gan','gen','guo','gang','geng','guan','guang',
  'hui','hao','han','huo','hang','heng','huan','huang',
  'ji','ju','jiu','jie','jun','jue','jing','jia','jiao','jian','juan','jiang','jin',
  'kai','kui','kan','kun','kuo','kang','kong',
  'le','li','lu','lai','lei','lan','lin','lang','ling','long','liao','lian','luan',
  'mi','mu','mai','mei','mao','man','min','mang','meng','ming','miao','mian',
  'na','ni','niu','nan','nuo','neng','ning',
  'pi','pu','pai','pei','pan','pin','pang','peng','ping','pian',
  'qi','qiu','qing','qiang','quan','qian',
  'si','su','sai','suo','sang','song','sha','shi','shu','shao','shou','shan','shang','shen','shuo','shuang',
  'ta','te','ti','tu','tai','tao','tan','tuo','tang','teng','ting','tong','tian',
  'wa','wei','wang','wan','wen'
  'xi','xu','xie','xin','xun','xue','xing','xiang','xiong','xia','xian','xuan',
  'ya','yi','yu','yao','you','yan','yun','yue','ying','yang','yong','yuan',
  'zao','zan','zun','zuo','zeng','zong','zhi','zhou','zhan','zhen','zhong','zhuan','zhuang',
]
#常用密码
common_key = ['11111111','00000000','11223344','0123456789','147258369','66666666','123123123',
       '88888888','12341234','88889999','11112222','a1b2c3d4','22222222','99999999','999999999',
       '1111111111','77777777','23456789','1122334455','55555555','qwertyuiop','8888888888',
       '12345687','012345678','abcd1234','a123456789','0000000000','12344321','123321123']
#常用密码字符
common_str = ['admin','china','love','110','asd','123456','super','0101','666','666666','888','888888','abc','fuck']

代码文件。根据实际需要,决定组合方式。

#coding=utf-8
#!/usr/bin/python
import key_data
import time
def file_edit(wr_str):#存入txt文件
  f1 = open(r'D:\python\key.txt','a')
  f1.write(wr_str)
  f1.close()
def write_to_file(w_list):#把列表中长度大于7的元素写入txt文件
  for i in w_list:
    if len(i)>7:
      file_edit(i+","+"\n")
def make_key(list1,list2,list3=[],list4=[]):#密码组合,支持2--4种任意组合
  key_list = []
  for a in list1:
    for b in list2:
      if list3:
        for c in list3:
          if list4:
            for d in list4:
              k = a+b+c+d
              key_list.append(k)
          else:
            k = a+b+c
            key_list.append(k)
      else:
        k=a+b
        key_list.append(k)
  return key_list
#key_list0 = key_data.common_key # 常用密码
#key_list1 = make_key(key_list0,key_data.most_str)#常用密码+特殊字符
#key_list2 = make_key(key_data.first_name,key_data.months,key_data.days)#姓+月+日
#key_list3 = make_key(key_data.first_name,key_data.months,key_data.days,key_data.most_str)#姓+月+日+特殊字符
#key_list4 = make_key(key_data.months,key_data.days,key_data.first_name)#月+日+姓
#key_list5 = make_key(key_data.first_name,key_data.common_str)#姓+常用字符
#key_list6 = make_key(key_data.first_name,key_data.second_name,key_data.years) #姓+名+年
#key_list7 = make_key(key_data.common_str,key_data.common_str) #常用字符+常用字符
#key_list8 = make_key(key_data.common_str,key_data.common_str,key_data.most_str) #常用字符+常用字符+特殊字符
#key_list9 = make_key(key_data.common_str,key_data.years) #常用字符+年
#key_list10 = make_key(key_data.second_name,key_data.second_name,key_data.months,key_data.days)#名+名+月+日
if __name__=='__main__':
  #开始生成密码文件
  write_to_file(key_list0)
  time.sleep(1)
  write_to_file(key_list1)
  time.sleep(1)
  write_to_file(key_list2)
  time.sleep(1)
  write_to_file(key_list3)
  print "done"
Python 相关文章推荐
python连接mysql调用存储过程示例
Mar 05 Python
python使用pil生成缩略图的方法
Mar 26 Python
Python中生成器和yield语句的用法详解
Apr 17 Python
Python实现简单拆分PDF文件的方法
Jul 30 Python
python dict.get()和dict['key']的区别详解
Jun 30 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
Oct 17 Python
Python编程深度学习计算库之numpy
Dec 28 Python
python3实现猜数字游戏
Dec 07 Python
Java文件与类动手动脑实例详解
Nov 10 Python
pandas 中对特征进行硬编码和onehot编码的实现
Dec 20 Python
Python中的xlrd模块使用原理解析
May 21 Python
python 读取串口数据的示例
Nov 09 Python
python使用多线程编写tcp客户端程序
Sep 02 #Python
使用python实现离散时间傅里叶变换的方法
Sep 02 #Python
详解Python图像处理库Pillow常用使用方法
Sep 02 #Python
Django使用中间件解决前后端同源策略问题
Sep 02 #Python
python elasticsearch环境搭建详解
Sep 02 #Python
关于pymysql模块的使用以及代码详解
Sep 01 #Python
使用Python将字符串转换为格式化的日期时间字符串
Sep 01 #Python
You might like
制作美丽的拉花
2021/03/03 冲泡冲煮
Yii核心组件AssetManager原理分析
2014/12/02 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
PHP使用文件锁解决高并发问题示例
2018/03/29 PHP
php链式操作的实现方式分析
2019/08/12 PHP
IE JS无提示关闭窗口不提示的方法
2010/04/29 Javascript
JQuery设置和去除disabled属性的5种方法总结
2013/05/16 Javascript
jquery遍历数组与筛选数组的方法
2013/11/05 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
2013/12/28 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
关于JS中的方法是否加括号的问题
2016/07/27 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
2017/03/15 Javascript
基于datepicker定义自己的angular时间组件的示例
2018/03/14 Javascript
javaScript产生随机数的用法小结
2018/04/21 Javascript
浅谈js闭包理解
2019/04/01 Javascript
关于在LayUI中使用AJAX提交巨坑记录
2019/10/25 Javascript
[42:24]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第一场 11.01
2020/11/02 DOTA
Pytorch入门之mnist分类实例
2018/04/14 Python
Python延时操作实现方法示例
2018/08/14 Python
python使用Matplotlib画条形图
2020/03/25 Python
Python常用特殊方法实例总结
2019/03/22 Python
python程序 线程队列queue使用方法解析
2019/09/23 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
2020/02/15 Python
python os模块在系统管理中的应用
2020/06/22 Python
CSS3实现菜单悬停效果
2020/11/17 HTML / CSS
学习新党章思想汇报
2014/01/09 职场文书
12岁生日演讲稿
2014/05/14 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
销售开票员岗位职责
2015/04/15 职场文书
刑事附带民事诉讼答辩状
2015/05/22 职场文书
教师培训学习心得体会
2016/01/21 职场文书
2017元旦晚会开幕词
2016/03/03 职场文书
导游词之西安骊山
2019/12/03 职场文书
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js
Python Pygame实战之塔防游戏的实现
2022/03/17 Python