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 常用string函数(收藏)
May 30 Python
Python搭建HTTP服务器和FTP服务器
Mar 09 Python
Python中%r和%s的详解及区别
Mar 16 Python
pygame加载中文名mp3文件出现error
Mar 31 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
Sep 06 Python
Python实现对一个函数应用多个装饰器的方法示例
Feb 09 Python
python面向对象入门教程之从代码复用开始(一)
Dec 11 Python
python读取指定字节长度的文本方法
Aug 27 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
Dec 05 Python
Python2和Python3中@abstractmethod使用方法
Feb 04 Python
Python拼接字符串的7种方式详解
Mar 19 Python
Python答题卡识别并给出分数的实现代码
Jun 22 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入门速成(2)
2006/10/09 PHP
C# WinForm中实现快捷键自定义设置实例
2015/01/23 PHP
关于PHP通用返回值设置方法
2017/03/31 PHP
jquery中的$(document).ready()与window.onload的区别
2009/11/18 Javascript
myeclipse安装jQuery插件的方法
2011/03/29 Javascript
jquery Mobile入门—多页面切换示例学习
2013/01/08 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
js实现的捐赠管理完整实例
2015/01/20 Javascript
JavaScript中的Promise使用详解
2015/06/24 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
使用jQuery或者原生js实现鼠标滚动加载页面新数据
2016/03/06 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
2016/07/04 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
2016/10/08 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
jQuery使用bind函数实现绑定多个事件的方法
2017/10/11 jQuery
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
angular-tree-component的使用详解
2018/07/30 Javascript
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
jquery实现吸顶导航效果
2020/01/08 jQuery
python读写ini文件示例(python读写文件)
2014/03/25 Python
基于DATAFRAME中元素的读取与修改方法
2018/06/08 Python
python utc datetime转换为时间戳的方法
2019/01/15 Python
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
2019/04/03 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
python实现单张图像拼接与批量图片拼接
2020/03/23 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
向全球直邮输送天然健康产品:iHerb.com
2020/05/03 全球购物
GWT的应用有哪两种部署模式
2012/12/21 面试题
课程设计的心得体会
2014/09/03 职场文书
公民授权委托书范本
2014/09/17 职场文书
领导干部民主生活会自我剖析材料范文
2014/09/20 职场文书
用React Native制作一个简单的游戏引擎
2021/05/27 Javascript
MySQL分区表实现按月份归类
2021/11/01 MySQL