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数据类型详解(三)元祖:tuple
May 08 Python
Python中二维列表如何获取子区域元素的组成
Jan 19 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
Apr 17 Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
Apr 30 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
Jun 20 Python
pandas.cut具体使用总结
Jun 24 Python
python在openstreetmap地图上绘制路线图的实现
Jul 11 Python
django foreignkey外键使用的例子 相当于left join
Aug 06 Python
Pytorch训练过程出现nan的解决方式
Jan 02 Python
基于python的docx模块处理word和WPS的docx格式文件方式
Feb 13 Python
python入门教程之基本算术运算符
Nov 13 Python
python 实现汉诺塔游戏
Nov 28 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
php调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
某人初学javascript的时候写的学习笔记
2010/12/30 Javascript
jQuery UI AutoComplete 使用说明
2011/06/20 Javascript
通过onmouseover选项卡实现img图片的变化
2014/02/12 Javascript
jQuery 鼠标经过(hover)事件的延时处理示例
2014/04/14 Javascript
JavaScript中的toDateString()方法使用详解
2015/06/12 Javascript
JS访问SWF的函数用法实例
2015/07/01 Javascript
JavaScript中文件上传API详解
2016/04/01 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
除Console.log()外更多的Javascript调试命令
2018/01/24 Javascript
JS中实现隐藏部分姓名或者电话号码的代码
2018/07/17 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
微信小程序如何调用图片接口API并居中显示
2019/06/29 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
[01:27]2014DOTA2展望TI 剑指西雅图IG战队专访
2014/06/30 DOTA
[47:42]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python socket网络编程步骤详解(socket套接字使用)
2013/12/06 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
Python利用itchat库向好友或者公众号发消息的实例
2019/02/21 Python
使用python批量修改文件名的方法(视频合并时)
2020/03/24 Python
为什么python比较流行
2020/06/19 Python
Python自省及反射原理实例详解
2020/07/06 Python
Python中的With语句的使用及原理
2020/07/29 Python
python 列表推导和生成器表达式的使用
2021/02/01 Python
CSS 3.0 结合video视频实现的创意开幕效果
2020/06/01 HTML / CSS
2014年话务员工作总结
2014/11/19 职场文书
先进员工事迹材料
2014/12/20 职场文书
高三英语复习计划
2015/01/19 职场文书
个人自荐书范文
2015/03/09 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python
Python四款GUI图形界面库介绍
2022/06/05 Python