密码强度怎么判断:长度、弱密码与熵估算
密码里同时出现大小写、数字和符号,不代表它一定安全。攻击者会优先尝试泄露密码、常见单词、键盘序列和可预测替换。判断密码时,应先检查是否常见或可预测,再看长度,最后把熵和破解时间当作辅助估算。
三个示例为什么得分不同
| 示例 | 主要问题 | 改进方向 |
|---|---|---|
Password123! | 虽然字符类型齐全,但模式常见,大小写与数字位置容易预测 | 不要在常见单词后固定追加数字和符号 |
qwerty2026 | 包含键盘序列和年份,攻击字典会优先覆盖 | 避免键盘路径、生日、年份和公开个人信息 |
松鼠-玻璃-潮汐-27 | 长度更长且由多个不相关词组成,但选词方法仍决定真实随机性 | 用密码管理器随机生成,或真正随机选择多词 |
这些示例只说明模式差异,不应直接作为真实账户密码。已经公开在教程中的字符串会进入搜索引擎、日志或密码字典。
长度通常比强制复杂度更有价值
NIST SP 800-63B 建议:单因素认证中的密码至少 15 个字符;如果密码只是多因素认证的一部分,至少 8 个字符。验证方应允许至少 64 个字符,不应强制要求必须混合某几类字符,也不应要求无泄露迹象的密码定期更换。
这不表示“15 个字符必然安全”。123456789012345 仍然容易猜。长度需要和不可预测性、弱密码拦截、多因素认证共同使用。
Shannon 熵和破解时间能告诉你什么
Shannon 熵描述当前字符串中字符分布的多样性。趁手的密码强度工具还会计算字符集理论最大熵,并以每秒 10^10 次离线尝试给出量级估算。它适合比较同一评估模型下的输入,但不能预测真实账户被攻破的时间。
- 人类选择的密码并非均匀随机,单看字符频率会高估常见短语和变形。
- 哈希算法、成本参数、硬件、泄露字典和限速策略都会改变攻击速度。
- 在线登录通常有速率限制;数据库泄露后的离线破解是另一种威胁模型。
实际设置密码的顺序
- 优先使用密码管理器生成并保存每个网站唯一的长密码。
- 无法使用管理器时,选择足够长且不可预测的多词密码,不复用已公开内容。
- 检查常见弱密码、键盘序列、重复模式和已泄露密码。
- 账户支持时开启多因素认证或通行密钥。
- 网站开发者应允许粘贴和密码管理器,不用复杂度规则阻止长密码。
工具的限制与隐私边界
本站工具在浏览器中计算长度、字符类、Shannon 熵、常见弱密码和键盘序列,不把输入发送到服务器。其内置弱密码列表规模有限,也不会联网查询泄露数据库,因此“未发现风险”不等于密码未泄露。敏感账户的真实密码仍建议由可信密码管理器生成;若只想理解评分,可以使用虚构示例。
可靠参考
- NIST SP 800-63B:Passwords
- OWASP Authentication Cheat Sheet:Password Strength Controls
- OWASP Password Storage Cheat Sheet