密码字典生成与查找工具
Password Dictionary Generator & Checker
一个基于 Python 的实用工具,帮助用户生成高度自定义的密码字典文件,并提供快速密码查找功能,适用于渗透测试、安全自查或密码强度验证场景。
项目功能
1. 密码字典生成器
-
关键词自由输入
用户可输入任意关键信息(如人名、生日、手机号、特殊数字等),支持多组关键词灵活组合。 -
智能组合规则
-
单个关键词重复 2-4 次(如
722
→722722
、722722722
)。 -
多关键词排列组合(如
722
+mimi
→722mimi
、mimi722
)。 -
支持前缀(
!
、@
)、后缀(123
、!
)、分隔符(.
、-
、_
)。 -
自动添加大小写变化(如
mimi
→MIMI
、Mimi
)。
-
-
高效生成与进度提示
-
使用
tqdm
显示总进度条,直观展示生成进度。 -
自动限制组合长度(最多 4 个关键词)。
-
-
文件输出
-
默认生成
.txt
文件,用户无需手动输入后缀名。
-
2. 密码查找工具
-
快速检索
通过集合(set
)存储密码,实现 O(1) 时间复杂度的快速查找。 -
错误处理
自动捕获文件不存在或其他异常,提供友好提示。
使用场景
-
渗透测试
生成针对性密码字典,用于测试目标账户的安全性。 -
密码强度验证
检查自己的密码是否容易被字典攻击破解。 -
安全自查
排查系统中是否存在弱密码或常见密码组合。
技术实现
-
核心库
-
itertools
:生成排列(permutations
)和笛卡尔积(product
)。 -
tqdm
:显示进度条,提升用户体验。
-
-
数据结构
-
使用
set
存储密码,避免重复并加速查找。
-
-
文件处理
-
自动处理文件路径和后缀名,简化用户操作。
-
使用说明
1. 生成密码字典
bash
复制
# 运行生成器 python generate_passwords.py # 示例输入: 请输入关键信息(例如人名、生日、手机号等),输入 'done' 结束: > 722 > mimi > done 请输入输出文件的名称(无需输入后缀名,例如 passwords):my_passwords # 输出: 密码字典已生成,保存到 my_passwords.txt 中,共生成 2538 个密码。
2. 查找密码
bash
复制
# 运行查找工具 python find_password.py # 示例输入: 请输入密码字典文件的路径(例如:passwords.txt):my_passwords.txt 请输入要查找的密码:722722mimi # 输出: 密码 '722722mimi' 存在于文件中。
注意事项
-
合法使用
本工具仅限用于合法授权的安全测试,禁止用于非法攻击。 -
文件大小
输入过多关键词可能导致生成的字典文件过大(GB 级),需注意磁盘空间。 -
依赖安装
首次运行前需安装tqdm
库:bash
复制
pip install tqdm
项目结构
复制
Password-Tool/ ├── generate_passwords.py # 密码字典生成器 ├── find_password.py # 密码查找工具 └── my_passwords.txt # 示例输出文件
通过灵活的组合规则和高效的处理逻辑,本项目旨在为用户提供一套简单但强大的密码安全分析工具。
Github内自行git
详情请看github内部
https://github.com/Lazyfine/Password-dictionary