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文本生成二维码实例
Jan 06 Python
Python下载指定页面上图片的方法
May 12 Python
Python实现简单遗传算法(SGA)
Jan 29 Python
Python遍历某目录下的所有文件夹与文件路径
Mar 15 Python
Python实现字符串匹配的KMP算法
Apr 04 Python
python中时间模块的基本使用教程
May 14 Python
使用Python做垃圾分类的原理及实例代码附源码
Jul 02 Python
python简单实现矩阵的乘,加,转置和逆运算示例
Jul 10 Python
基于Python获取照片的GPS位置信息
Jan 20 Python
在keras中对单一输入图像进行预测并返回预测结果操作
Jul 09 Python
Python 通过爬虫实现GitHub网页的模拟登录的示例代码
Aug 17 Python
Python Pandas list列表数据列拆分成多行的方法实现
Dec 14 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
剧场版动画《PSYCHO-PASS 3 FIRST INSPECTOR》3月27日日本上映!
2020/03/06 日漫
PHP多维数组元素操作类的方法
2016/11/14 PHP
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
jquery中ajax学习笔记4
2011/10/16 Javascript
JavaScript中数组的排序、乱序和搜索实现代码
2011/11/30 Javascript
JS实现模仿微博发布效果实例代码
2013/12/16 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
JavaScript操作选择对象的简单实例
2016/05/16 Javascript
Document.body.scrollTop的值总为零的快速解决办法
2016/06/09 Javascript
jQuery soColorPacker 网页拾色器
2016/06/22 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
2016/08/29 Javascript
JS返回只包含数字类型的数组实例分析
2016/12/16 Javascript
JS数字千分位格式化实现方法总结
2016/12/16 Javascript
js实现复选框的全选和取消全选效果
2017/01/03 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
JS常用正则表达式总结【经典】
2017/05/12 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
2019/05/21 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
2019/11/25 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
js实现3D旋转效果
2020/08/18 Javascript
如何在vue中使用video.js播放m3u8格式的视频
2021/02/01 Vue.js
Python中的Descriptor描述符学习教程
2016/06/02 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
django实现用户登陆功能详解
2017/12/11 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
2019/03/23 Python
Pytorch 高效使用GPU的操作
2020/06/27 Python
Finishline官网:美国一家领先的运动品牌鞋类、服装零售商
2016/07/20 全球购物
酒店采购员岗位职责
2014/03/14 职场文书
小班教师个人总结
2015/02/05 职场文书
项目技术负责人岗位职责
2015/04/13 职场文书
MySQL学习之基础操作总结
2022/03/19 MySQL
对象析构函数__del__在Python中何时使用
2022/03/22 Python