本文实例讲述了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"
PS:这里再提供几款相关工具供大家参考使用:
在线随机数生成工具:
http://tools.jb51.net/aideddesign/rnd_num
在线随机生成个人信息数据工具:
http://tools.jb51.net/aideddesign/rnd_userinfo
在线随机字符/随机密码生成工具:
http://tools.jb51.net/aideddesign/rnd_password
在线随机数字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
Python,生成密码字典
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]