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学习笔记_数据排序方法
May 22 Python
python让图片按照exif信息里的创建时间进行排序的方法
Mar 16 Python
python实现的jpg格式图片修复代码
Apr 21 Python
python的keyword模块用法实例分析
Jun 30 Python
在Python的Django框架中获取单个对象数据的简单方法
Jul 17 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
Jan 29 Python
Python利用openpyxl库遍历Sheet的实例
May 03 Python
mac使用python识别图形验证码功能
Jan 10 Python
keras 权重保存和权重载入方式
May 21 Python
PyCharm 解决找不到新打开项目的窗口问题
Jan 15 Python
python设置 matplotlib 正确显示中文的四种方式
May 10 Python
python之PySide2安装使用及QT Designer UI设计案例教程
Jul 26 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
推荐一篇入门级的Class文章
2007/03/19 PHP
php和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
PHP日志LOG类定义与用法示例
2018/09/06 PHP
PHP与SQL语句写一句话木马总结
2019/10/11 PHP
js 屏蔽鼠标右键脚本附破解方法
2009/12/03 Javascript
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
jquery中each方法示例和常用选择器
2014/07/08 Javascript
nodejs实现的一个简单聊天室功能分享
2014/12/06 NodeJs
创建js对象和js类的方法汇总
2014/12/24 Javascript
深入探讨JavaScript String对象
2015/03/09 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
2015/04/06 Javascript
jQuery滚动新闻实现代码
2016/06/26 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
BootStrap表单时间选择器详解
2017/05/09 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
Node.js使用Koa搭建 基础项目
2018/01/08 Javascript
JS获取并处理php数组的方法实例分析
2018/09/04 Javascript
Vue-Router的使用方法
2018/09/05 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
2020/07/28 Javascript
在JavaScript中查找字符串中最长单词的三种方法(推荐)
2021/01/18 Javascript
[38:44]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第二局
2016/02/25 DOTA
[42:20]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
python实现比对美团接口返回数据和本地mongo数据是否一致示例
2019/08/09 Python
感知器基础原理及python实现过程详解
2019/09/30 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
Python实现随机爬山算法
2021/01/29 Python
HTML5学习笔记之History API
2015/02/26 HTML / CSS
2014年师德承诺书
2014/05/23 职场文书
2014年设计师工作总结
2014/11/25 职场文书
自主招生自荐信格式范文
2015/03/25 职场文书
pycharm无法导入lxml的解决办法
2021/03/31 Python
react中props 的使用及进行限制的方法
2021/04/28 Javascript
浅谈Python中的函数(def)及参数传递操作
2021/05/25 Python