密码强度提示是最近流行的一个功能,但是99%的案例都忽略了检测机制。 基本上都是把字符分成四类:数字、小写英文、大写英文、符号,然后按照组合复杂度来直接判断强弱程度:
事实上是这样么?这只是在最理想情况下,应付穷举的机械方案,根本没有对应用户的心理模型(就是以用户为中心),可以说毫无用处,Live注册表单就是此类案例的典型,居然说“#%^&**(”是弱密码,你记住试试! 那么用户是如何选择密码的,先看看Google注册表单的解决方案,进行几个测试: “888888”,弱 大概能看出是按使用习惯进行判断,比如:常用的数字组合、普通英文单词,差不多就是Google机制里的“弱”和“一般”两个等级。根据暴力破解的密码词典制作知识,按照正常逻辑反推很容易得出结论,但肯定不是随意组合这么粗糙。 如果想更完善,可以参考Google代码,除了“太短”,If the password server is down 的情况都考虑有,官方说明这是新开发的功能,我觉得很不错。 这个案例同时证明,改善用户体验不仅仅是要做出样子,而且要做彻底,否则就是误导和干扰。 |