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实现多线程网页爬虫
Sep 06 Python
Python随手笔记第一篇(2)之初识列表和元组
Jan 23 Python
python使用psutil模块获取系统状态
Aug 27 Python
Python实现的视频播放器功能完整示例
Feb 01 Python
Numpy数组的保存与读取方法
Apr 04 Python
Python实现读取字符串按列分配后按行输出示例
Apr 17 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
Jul 04 Python
python使用Plotly绘图工具绘制柱状图
Apr 01 Python
Django如何自定义model创建数据库索引的顺序
Jun 20 Python
Django多进程滚动日志问题解决方案
Dec 17 Python
使用PyQt5实现图片查看器的示例代码
Apr 21 Python
python初步实现word2vec操作
Jun 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
正义联盟的终局之战《天启星战争》将成为DC动画宇宙的最后一部
2020/04/09 欧美动漫
php 无极分类(递归)实现代码
2010/01/05 PHP
LotusPhp笔记之:Logger组件的使用方法
2013/05/06 PHP
php学习笔记之基础知识
2014/11/08 PHP
Yii入门教程之目录结构、入口文件及路由设置
2014/11/25 PHP
浅谈PHP中output_buffering
2015/07/13 PHP
jquery 指南/入门基础
2007/11/30 Javascript
基于jquery tab切换(防止页面刷新)
2012/05/23 Javascript
js格式化货币数据实现代码
2013/09/04 Javascript
javascript中Number对象的toString()方法分析
2014/12/20 Javascript
jQuery插件Tmpl的简单使用方法
2015/04/27 Javascript
javascript回到顶部特效
2016/07/30 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
2018/08/24 Javascript
详解Node.js读写中文内容文件操作
2018/10/10 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
2019/10/12 Javascript
python冒泡排序简单实现方法
2015/07/09 Python
python3.6 实现AES加密的示例(pyCryptodome)
2018/01/10 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
2019/06/27 Python
python读取.mat文件的数据及实例代码
2019/07/12 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
Python实现某论坛自动签到功能
2019/08/20 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
Pygame框架实现飞机大战
2020/08/07 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
2020/08/27 Python
手工制作的音乐盒:Music Box Attic
2019/09/05 全球购物
中医药大学毕业生自荐信
2013/11/08 职场文书
会计专业自荐信范文
2013/12/02 职场文书
运动会报道稿300字
2014/10/02 职场文书
公安纪律作风整顿剖析材料
2014/10/10 职场文书
自愿离婚协议书范文2014
2014/10/12 职场文书
同学毕业留言寄语
2015/02/27 职场文书
2015年人力资源部工作总结
2015/04/30 职场文书
2019请假条的基本格式及范文!
2019/07/05 职场文书
python 利用PyAutoGUI快速构建自动化操作脚本
2021/05/31 Python
vue router 动态路由清除方式
2022/05/25 Vue.js