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遍历类中所有成员的方法
Mar 18 Python
python&MongoDB爬取图书馆借阅记录
Feb 05 Python
对Python中for复合语句的使用示例讲解
Nov 01 Python
python 判断字符串中是否含有汉字或非汉字的实例
Jul 15 Python
Python英文文章词频统计(14份剑桥真题词频统计)
Oct 13 Python
Python字典常见操作实例小结【定义、添加、删除、遍历】
Oct 25 Python
Python OpenCV视频截取并保存实现代码
Nov 30 Python
Python FtpLib模块应用操作详解
Dec 12 Python
tensorflow 变长序列存储实例
Jan 20 Python
python scatter函数用法实例详解
Feb 11 Python
使用Python封装excel操作指南
Jan 29 Python
Django中session进行权限管理的使用
Jul 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
phpmyadmin MySQL 加密配置方法
2009/07/05 PHP
在yii中新增一个用户验证的方法详解
2013/06/20 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
bootstrap fileinput插件实现预览上传照片功能
2018/01/23 Javascript
详解如何使用微信小程序云函数发送短信验证码
2019/03/13 Javascript
微信小程序实现人脸识别登陆的示例代码
2019/04/02 Javascript
JavaScript常用内置对象用法分析
2019/07/09 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
JS 数组和对象的深拷贝操作示例
2020/06/06 Javascript
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
Python中的Numpy入门教程
2014/04/26 Python
浅谈python 线程池threadpool之实现
2017/11/17 Python
pyhanlp安装介绍和简单应用
2019/02/22 Python
Python实现堡垒机模式下远程命令执行操作示例
2019/05/09 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
pandas之分组groupby()的使用整理与总结
2020/06/18 Python
python help函数实例用法
2020/12/06 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
java字符串格式化输出实例讲解
2021/01/06 Python
Crocs卡骆驰洞洞鞋日本官方网站:Crocs日本
2016/08/25 全球购物
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
Laravel中Kafka的使用详解
2021/03/24 PHP
面料业务员岗位职责
2013/12/26 职场文书
新郎婚宴答谢词
2014/01/19 职场文书
少儿节目主持串词
2014/04/02 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
关于拾金不昧的感谢信
2015/01/21 职场文书
2015年世界艾滋病日活动总结
2015/03/24 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
村党总支部公开承诺书2016
2016/03/25 职场文书