yusjeng21/password-security-auditor-cli
GitHub: yusjeng21/password-security-auditor-cli
一个基于 Python 的命令行密码安全审计工具,提供密码强度评估、安全密码生成和批量审计功能,帮助用户识别和改善弱密码问题。
Stars: 0 | Forks: 0
Python 3.13
MIT 许可证
状态:已完成
课程项目
# 密码安全审计工具
一个使用 Python 构建的综合命令行密码安全审计工具,可帮助用户评估密码强度、生成安全密码、检测常用密码,以及从文件中批量审计密码。
本项目是作为**冈比亚大学** **安全脚本编程**课程的**小组项目**开发的。
## 概述
弱密码仍然是导致在线账户被盗用的主要原因之一。开发此应用程序旨在通过提供使用现代安全实践来评估、生成和审计密码的工具,促进更好的密码安全。
该应用程序将密码强度分析、安全密码生成、黑名单检查、日志记录和批量密码审计结合到一个易于使用的命令行界面中。
## 功能特性
- 密码强度检查器
- 使用多种安全标准评估密码。
- 分配强度分数和评级。
- 提供可操作的改进建议。
- 安全密码生成器
- 生成高强度的随机密码。
- 用户可自定义长度。
- 可选包含大写字母、小写字母、数字和特殊字符。
- 常用密码检测
- 检测包含在 200 多个最常用密码黑名单中的密码。
- 警告用户不要选择不安全的密码。
- 批量密码分析
- 分析存储在文本文件中的多个密码。
- 显示每个密码的强度。
- 分析后生成摘要报告。
- 事件日志记录
- 记录带有时间戳的应用程序事件。
- 绝不存储明文密码。
- 密码历史记录
- 安全地存储生成的密码元数据。
- 密码以 SHA-256 哈希值形式存储,而非明文。
- 改进的命令行界面
- 使用 Rich 库构建的简洁终端界面。
- 彩色输出,可读性更佳。
## 技术栈
- Python 3
- Rich
- Secrets
- 正则表达式 (re)
- hashlib
- json
- datetime
- os
- 文件处理
## 项目结构
```
Password-Security-Auditor/
│
├── password_security_auditor.py
├── common_passwords.txt
├── sample_passwords.txt
├── password_history.json
├── password_log.txt
├── audit_report.txt
├── README.md
└── screenshots/
```
## 工作原理
### 密码强度检查器
该应用程序使用以下几项安全标准来评估密码:
- 密码长度
- 大写字母
- 小写字母
- 数字
- 特殊字符
- 常用密码检测
系统会计算出一个分数,并将其转换为从**非常弱** 到**非常强** 的强度等级。
### 密码生成器
用户可以通过选择以下选项来生成安全密码:
- 密码长度
- 大写字母
- 小写字母
- 数字
- 特殊字符
该生成器使用加密安全的随机值来创建密码。
### 批量密码分析
用户可以提供一个包含多个密码的文本文件。
该应用程序将执行以下操作:
1. 读取文件。
2. 单独分析每个密码。
3. 显示每个密码的强度。
4. 生成摘要报告。
此功能使得该工具非常适合用于一次性审计多个密码。
### 安全存储
生成的密码绝不会以明文形式存储。
相反,它们会在被保存到历史记录文件之前,被转换为 SHA-256 哈希值。
## 截图
![密码安全审计工具截图]()
## 未来改进
- 将报告导出为 PDF 或 CSV。
- 密码熵计算。
- 密码过期建议。
- 集成密码泄露 API。
- 使用 React 作为前端、Flask 作为后端 API,开发现代化的 Web 应用程序。
## 项目路线图
- 版本 1.0 — 命令行密码安全审计工具(已完成)
- 版本 2.0 — React + Flask Web 应用程序(已规划)
- 版本 3.0 — 高级安全仪表板与云部署(未来计划)
## 许可证
本项目作为冈比亚大学课程作业的一部分,专为教育目的而开发。
可随意将其用于学习和个人项目。
标签:Python, 密码审计, 无后门, 逆向工具