網站首頁 編程語言 正文
一、密碼字典
所謂密碼字典,主要是配合解密使用,一般情況用來暴力破解密碼,是由指定字符排列組合組成的文本文件。如果知道密碼設置的規律指定性生成密碼,會對破解密碼有決定性的幫助!!
二、字典生成
1.生成6位數小寫字母+數字密碼字典
代碼如下(示例):
import itertools as its words = 'abcdefghijklmnopqrstuvwxyz1234567890' ?#采用的字符 r = its.product(words, repeat=6) ?# repeat 要生成多少位的字典 dic = open("pass.txt", "a") ? ?#保存 for i in r: ? ? dic.write("".join(i)) ? ? dic.write("".join("\r")) dic.close()
2.選擇模式運行
python dictionary.py default python dictionary.py numonly python dictionary.py letteronly
代碼如下(示例):
import itertools as its import argparse def run_default(length,filename): ? ? global words ? ? ''' ? ? words='ha' ? ?? ? ? if numonly == True: ? ? ? ? words="1234567890" ? ? else: ? ? ? ? words="1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM" ? ? ''' ? ? words="1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM" ? ? r =its.product(words,repeat=length) ? ? dic = open(filename,'a') ? ? for i in r: ? ? ? ? dic.write("".join(i)) ? ? ? ? dic.write("".join("\n")) ? ? dic.close() def run_numonly(length,filename): ? ? global words ? ? words="1234567890" ? ? r =its.product(words,repeat=length) ? ? dic = open(filename,'a') ? ? for i in r: ? ? ? ? dic.write("".join(i)) ? ? ? ? dic.write("".join("\n")) ? ? dic.close() def run_letteronly(length,filename): ? ? global words ? ? words="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM" ? ? r =its.product(words,repeat=length) ? ? dic = open(filename,'a') ? ? for i in r: ? ? ? ? dic.write("".join(i)) ? ? ? ? dic.write("".join("\n")) ? ? dic.close() if __name__ == "__main__": ? ? choices={"default":run_default,"numonly":run_numonly,"letteronly":run_letteronly} ? ? parser=argparse.ArgumentParser(description='快速生成密碼字典') ? ? parser.add_argument('model',choices=choices,help='選擇哪個模式運行') ? ? parser.add_argument('--length',metavar='length',type=int,default=3,help="密碼字典內密碼的長度") ? ? parser.add_argument('-filename',metavar='filename',type=str,default='password.txt',help="密碼字典文件昵稱") ? ? #parser.add_argument('-numonly',metavar='numonly',type=bool,default=False,help="是否只含有數字") ? ? args=parser.parse_args() ? ? func=choices[args.model] ? ? func(args.length,args.filename)
原文鏈接:https://blog.csdn.net/qq_45365214/article/details/123274975
相關推薦
- 2022-11-03 anaconda?部署Jupyter?Notebook服務器過程詳解_python
- 2022-04-01 k8s 學習 kubeadm join 超時報錯 : error uploading crisock
- 2022-04-20 Python設計模式中的結構型適配器模式_python
- 2022-04-05 關于Unity中RectTransform與transform的區別_C#教程
- 2022-11-05 ios開發?try-catch引起的野指針問題排查_IOS
- 2023-07-14 react實現拖拽功能
- 2023-01-09 python自動化測試中裝飾器@ddt與@data源碼深入解析_python
- 2022-05-10 SpringBoot端口已占用解決:配置端口號
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支