haroontrailblazer/StrengthX
GitHub: haroontrailblazer/StrengthX
一款基于 Streamlit 的 Web 应用,帮助用户检测密码强度、验证是否在已知泄露中出现过,并通过 AI 生成强密码。
Stars: 9 | Forks: 4
# StrengthX - 了解你的密码有多强
https://github.com/user-attachments/assets/50a608b8-f360-408f-bc83-86bbda26c1f5
**StrengthX** 是一款 Web 应用程序,旨在帮助用户评估其密码的强度,并检查他们的密码是否曾出现在已知的数据泄露事件中。它提供了一种快速且安全的方式来提升密码安全性,并倡导安全的在线操作习惯。
### OWASP ASVS 密码策略对齐
Open Worldwide Application Security Project / Application Security Verification Standard。
此密码评估组件已根据 **OWASP ASVS v4.0.3** 进行审查,并满足其定义范围内的所有适用控制措施。
### ASVS 范围与等级
- **ASVS 版本:** 4.0.3
- **ASVS 等级:** Level 1 (L1)
- **范围:** 仅限密码评估(不包含身份验证、存储或会话管理)
### ASVS 控制映射
| ASVS 控制 ID | OWASP 要求 | 实现细节 | 合规性 |
|-----------------|------------------|------------------------|------------|
| **V2.1.1** | 密码未以不安全的方式存储或处理 | 密码仅存在于易失性内存中,从不被持久化存储 | ✅ |
| **V2.1.2** | 密码强度通过熵进行评估 | 使用 `zxcvbn` 进行基于熵的评估 | ✅ |
| **V2.1.3** | 可检测已泄露的密码 | 使用 k-anonymity 针对 Have I Been Pwned 检查密码 | ✅ |
| **V2.1.4** | 未强制执行不安全的组合规则 | 没有强制要求大写、符号或数字限制 | ✅ |
| **V2.1.5** | 支持长密码短语 | 无截断;完全支持长密码短语 | ✅ |
| **V2.1.6** | 在未发生泄露的情况下不需要轮换密码 | 无强制性的定期密码轮换 | ✅ |
| **V2.1.7** | 告知用户密码的处理方式 | 面向用户的声明解释了安全、非持久化的处理方式 | ✅ |
| **V6.1.2** | 不滥用弱加密原语 | SHA-1 仅用于 HIBP 互操作性,不用于存储或身份验证 | ✅ |
### 合规声明
### 审计说明
- 身份验证、会话管理和授权有意被排除在范围之外
- SHA-1 的使用严格限制于外部泄露检测的兼容性
- 不记录、渲染或持久化存储任何密码数据
- 所有密码均在浏览器本地处理,并在任何泄露验证之前进行 hash 处理。
- 服务器上不存储任何用户密码或敏感信息。
- 完全符合 OWASP 密码指南
## 许可证
该项目基于 [Apache License 2.0](LICENSE) 授权。
## 联系方式
如有疑问或有意贡献,欢迎联系上方列出的贡献者,或在仓库中提交一个 issue。
© 2026 Haroon K M。保留所有权利。
本仓库仅供查看之用。
未经作者明确书面许可,不得使用、复制、修改或分发此代码。
**StrengthX – 一次一个密码,赋能更安全的在线实践。**




[](#)
[](#)
### 🛡️ 由 Google 认证的网络安全工程师创建
[](https://www.credly.com/users/haroon-k-m)
**技能:**
云备份 · 云计算 · 云安全 · 合规生命周期 · 网络安全 · 网络威胁情报 · 数据保护 · 灾难恢复 · Google Cloud · 身份与访问管理 (IAM) · 网络安全 · 威胁检测
## 功能
- **密码强度检测**:评估所输入密码的复杂度。
- **泄露验证**:检查密码在已知数据泄露中暴露的次数。
- **注重隐私**:密码绝不会存储在后端;所有检查均安全进行。
- **交互式 UI**:用户友好的界面,实现无缝的密码测试体验。
## 技术栈
- **后端**:Python
- **前端**:Streamlit
- **AI 模型**:ollama
- **库/工具**:`zxcvbn`、`hashlib`、`pwnedpasswords`、`ollama` API
## 使用说明
1. 在输入框中输入密码。
2. 查看密码强度评分及改进建议。
3. 检查密码是否已在数据泄露中被暴露。
4. 相应地调整您的密码以获得更好的安全性。
5. 召唤 StrengthX-Dildo AI 生成强密码。
## 性能对比

| **图例** | 🟩 | 🟨 | 🟧 | ⬜ |
|-----------|-----|-----|-----|-----|
| **得分** | 5 | 4 | 3 | 0 |
| **功能** | **StrengthX** | **LastPass** | **1Password** | **NordPass** |
|---------------------------------|----------------|--------------|----------------|--------------|
| **AI 密码生成** | 🟩 | ⬜ | ⬜ | ⬜ |
| **使用 zxcvbn** | 🟩 | 🟨 | 🟨 | 🟨 |
| **使用实时泄露数据库** | 🟩 | ⬜ | ⬜ | 🟧 |
| **基于 Regex 的策略执行** | 🟩 | 🟧 | 🟧 | 🟧 |
| **仅本地评估** | 🟩 | ⬜ | ⬜ | ⬜ |
## 安全与隐私
[](https://www.credly.com/users/haroon-k-m)
**技能:**
云备份 · 云计算 · 云安全 · 合规生命周期 · 网络安全 · 网络威胁情报 · 数据保护 · 灾难恢复 · Google Cloud · 身份与访问管理 (IAM) · 网络安全 · 威胁检测
### OWASP ASVS 密码策略对齐
Open Worldwide Application Security Project / Application Security Verification Standard。
此密码评估组件已根据 **OWASP ASVS v4.0.3** 进行审查,并满足其定义范围内的所有适用控制措施。
### ASVS 范围与等级
- **ASVS 版本:** 4.0.3
- **ASVS 等级:** Level 1 (L1)
- **范围:** 仅限密码评估(不包含身份验证、存储或会话管理)
### ASVS 控制映射
| ASVS 控制 ID | OWASP 要求 | 实现细节 | 合规性 |
|-----------------|------------------|------------------------|------------|
| **V2.1.1** | 密码未以不安全的方式存储或处理 | 密码仅存在于易失性内存中,从不被持久化存储 | ✅ |
| **V2.1.2** | 密码强度通过熵进行评估 | 使用 `zxcvbn` 进行基于熵的评估 | ✅ |
| **V2.1.3** | 可检测已泄露的密码 | 使用 k-anonymity 针对 Have I Been Pwned 检查密码 | ✅ |
| **V2.1.4** | 未强制执行不安全的组合规则 | 没有强制要求大写、符号或数字限制 | ✅ |
| **V2.1.5** | 支持长密码短语 | 无截断;完全支持长密码短语 | ✅ |
| **V2.1.6** | 在未发生泄露的情况下不需要轮换密码 | 无强制性的定期密码轮换 | ✅ |
| **V2.1.7** | 告知用户密码的处理方式 | 面向用户的声明解释了安全、非持久化的处理方式 | ✅ |
| **V6.1.2** | 不滥用弱加密原语 | SHA-1 仅用于 HIBP 互操作性,不用于存储或身份验证 | ✅ |
### 合规声明
### 审计说明
- 身份验证、会话管理和授权有意被排除在范围之外
- SHA-1 的使用严格限制于外部泄露检测的兼容性
- 不记录、渲染或持久化存储任何密码数据
- 所有密码均在浏览器本地处理,并在任何泄露验证之前进行 hash 处理。
- 服务器上不存储任何用户密码或敏感信息。
- 完全符合 OWASP 密码指南
## 许可证
该项目基于 [Apache License 2.0](LICENSE) 授权。
## 联系方式
如有疑问或有意贡献,欢迎联系上方列出的贡献者,或在仓库中提交一个 issue。
© 2026 Haroon K M。保留所有权利。
本仓库仅供查看之用。
未经作者明确书面许可,不得使用、复制、修改或分发此代码。
**StrengthX – 一次一个密码,赋能更安全的在线实践。**标签:AI风险缓解, Kubernetes, Python, Streamlit, 安全防护, 密码强度检测, 密码生成, 数据泄露查询, 无后门, 访问控制, 逆向工具