Python實(shí)現(xiàn)生成密碼字典的方法示例
本文實(shí)例講述了Python實(shí)現(xiàn)生成密碼字典的方法。分享給大家供大家參考,具體如下:
key_data.py 文件存放組成數(shù)據(jù),可以隨時(shí)擴(kuò)充及簡(jiǎn)化。
#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 = ['!','*','#','_','.','@']# 常用特殊符號(hào) #常見(jiàn)姓氏 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'] #常見(jiàn)名字 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']
代碼文件。根據(jù)實(shí)際需要,決定組合方式。
#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):#把列表中長(zhǎng)度大于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__': #開(kāi)始生成密碼文件 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:這里再提供幾款相關(guān)工具供大家參考使用:
在線隨機(jī)數(shù)生成工具:
http://tools.jb51.net/aideddesign/rnd_num
在線隨機(jī)生成個(gè)人信息數(shù)據(jù)工具:
http://tools.jb51.net/aideddesign/rnd_userinfo
在線隨機(jī)字符/隨機(jī)密碼生成工具:
http://tools.jb51.net/aideddesign/rnd_password
在線隨機(jī)數(shù)字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
用Python批量把文件復(fù)制到另一個(gè)文件夾的實(shí)現(xiàn)方法
這篇文章主要介紹了用Python批量把文件復(fù)制到另一個(gè)文件夾的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Python 類與元類的深度挖掘 II【經(jīng)驗(yàn)】
元類在 Python 中屬于比較深層的黑魔法,在一般的日常應(yīng)用中可能并不常用,但理解其背后的原理對(duì)于理解 Python 面向?qū)ο缶幊桃约耙磺薪詾閷?duì)象的理念很有幫助;如果你需要對(duì)類進(jìn)行深度改造,至少要知道從何入手。2016-05-05NumPy隨機(jī)數(shù)據(jù)分布與Seaborn可視化詳解
數(shù)據(jù)分布是指數(shù)據(jù)集中所有可能值出現(xiàn)的頻率,并用概率來(lái)表示,它描述了數(shù)據(jù)取值的可能性,Seaborn 是一個(gè)基于 Matplotlib 的 Python 數(shù)據(jù)可視化庫(kù),用于創(chuàng)建統(tǒng)計(jì)圖表,本文就給大家詳細(xì)的介紹一下NumPy隨機(jī)數(shù)據(jù)分布與Seaborn可視化,需要的朋友可以參考下2024-05-05python爬蟲(chóng)xpath模塊簡(jiǎn)介示例代碼
xpath是最常用且最便捷高效的一種解析方式,通用型強(qiáng),其不僅可以用于python語(yǔ)言中,還可以用于其他語(yǔ)言中,數(shù)據(jù)解析建議首先xpath,這篇文章主要介紹了python爬蟲(chóng)xpath模塊簡(jiǎn)介,需要的朋友可以參考下2023-02-02Python+Opencv實(shí)現(xiàn)圖像匹配功能(模板匹配)
這篇文章主要為大家詳細(xì)介紹了Python+Opencv實(shí)現(xiàn)圖像匹配功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10PythonPC客戶端自動(dòng)化實(shí)現(xiàn)原理(pywinauto)
這篇文章主要介紹了Python基于pywinauto實(shí)現(xiàn)PC客戶端自動(dòng)化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05