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中while true的使用
Oct 13 Python
使用python和Django完成博客数据库的迁移方法
Jan 05 Python
python机器学习理论与实战(一)K近邻法
Jan 28 Python
基于python 爬虫爬到含空格的url的处理方法
May 11 Python
Python OrderedDict的使用案例解析
Oct 25 Python
Python %r和%s区别代码实例解析
Apr 03 Python
python获取响应某个字段值的3种实现方法
Apr 30 Python
使用pycharm和pylint检查python代码规范操作
Jun 09 Python
python3爬虫中引用Queue的实例讲解
Nov 24 Python
python绘图模块之利用turtle画图
Feb 12 Python
Python数据可视化之基于pyecharts实现的地理图表的绘制
Jun 10 Python
python pygame 开发五子棋双人对弈
May 02 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 变量类型的强制转换
2009/10/23 PHP
php生成数组的使用示例 php全组合算法
2014/01/16 PHP
PHP读取txt文本文件并分页显示的方法
2015/03/11 PHP
php 实现Hash表功能实例详解
2016/11/29 PHP
myeclipse安装jQuery插件的方法
2011/03/29 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
zTree插件之多选下拉菜单实例代码
2013/11/06 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
jQuery获取当前点击的对象元素(实现代码)
2016/05/19 Javascript
javascript作用域链与执行环境详解
2017/03/25 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
2019/04/17 Javascript
vue+elementUI组件table实现前端分页功能
2020/11/15 Javascript
Python的Flask框架及Nginx实现静态文件访问限制功能
2016/06/27 Python
遗传算法之Python实现代码
2017/10/10 Python
python 中文件输入输出及os模块对文件系统的操作方法
2018/08/27 Python
CentOS 7下安装Python3.6 及遇到的问题小结
2018/11/08 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
2019/02/18 Python
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
python读取ini配置文件过程示范
2019/12/23 Python
Python基础之函数原理与应用实例详解
2020/01/03 Python
Python获取excel内容及相关操作代码实例
2020/08/10 Python
凯特王妃父母建立的派对用品网站:Party Pieces
2017/05/28 全球购物
教师申诉制度
2014/01/29 职场文书
北京奥运会主题口号
2014/06/13 职场文书
人大调研汇报材料
2014/08/14 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
音乐研修感悟
2015/11/18 职场文书
OpenCV全景图像拼接的实现示例
2021/06/05 Python
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA