用户体验模式7 分钟阅读·Updated 2026 年 10 月·ExodeUI 团队
真正有帮助的密码强度计:UX 和 NIST 指南
如何设计遵循当前 NIST 指南的密码字段和强度计:符号长度、阻止列表、粘贴和密码管理器以及清晰的反馈。
直接总结和定义
核心要点
当前的 NIST 指南 (SP 800-63B) 更倾向于长度和阻止列表而不是组合规则:单独使用的密码必须至少有 15 个字符,服务应允许至少 64 个字符,并且不得要求混合字符类型。一个好的强度计可以评估真实的可猜测性、奖励长度、用简单的语言解释问题并与粘贴和密码管理器配合使用。
NIST 现在说什么
NIST 特别出版物 800-63B 为验证者规定了现代密码规则:
- 用作唯一因素的密码必须至少为 15 个字符;多重身份验证中使用的密码可能更短,但至少为 8 个。
- 服务允许的最大长度至少为 64 个字符。
- 服务不得强加组合规则,例如要求混合字符类型。
- 新密码必须根据常见值、预期值或泄露值的阻止列表进行检查,并显示拒绝的原因。
- 服务必须提供指导来帮助人们选择强密码。
好的仪表可以测量什么
计算字符类型奖励“Password1!”并惩罚长密码。相反,Dropbox 的开源 zxcvbn 等估算器会寻找攻击者使用的模式,识别数以万计的常见密码、名称和单词,并估算密码的真实可猜测性。计量表基于这样的估计,加上你的黑名单。
设计场地
小细节决定人是否成功:
- 允许粘贴和自动填充,以便密码管理器正常工作。
- 尽可能提供显示/隐藏切换而不是确认密码字段。
- 在键入之前显示要求,然后在人们键入时实时显示进度。
- 用简单的话解释拒绝:“此密码出现在已知的违规行为中。”
- 不要人为地设置较低的最大长度。
运动和反馈
随着密码的改进,仪表会顺利填充,从而提供令人鼓舞的即时反馈。不要对其进行过多的动画处理,以免分散注意力,不要单独使用颜色(添加文本标签,例如“强”),并避免在人们仍在打字时晃动字段。
要记住的关键 Principle
- NIST:单因素密码超过 15 个字符,至少允许 64 个
- 没有构图规则;检查黑名单
- 估计可猜测性(例如使用 zxcvbn),而不是字符类型
- 允许粘贴和密码管理器;报价显示/隐藏
- 将仪表颜色与文本标签配对
常见问题解答
来源
- NIST SP 800-63B: Authentication and Authenticator Management — NIST
- zxcvbn: low-budget password strength estimation — GitHub(Dropbox)
- Error-Message Guidelines — Nielsen Norman Group