我已经给自己编写了决定密码强度的代码的任务,并且真的想打破我们这样做的许多已经建立的方式,因为它们经常缺乏,没有设计正确的方式,或者很快变得无关紧要。
通常,我们会看到您输入密码的模式,并显示布尔值“您需要 7 个带有字母和数字的字符”。后来,我们有了一个显示“从强到弱”的等级排名(以及百分比变化)的不合理图表。我们已经在这种模式上做得更好,实际上好多了,我们考虑向用户展示暴力破解时间,明确显示分配该分数的原因,
现在,我真的很喜欢最后两个想法的介绍,但这不是我主要关心的问题,我的问题与这个工具的介绍无关。
我的问题是生成估计的密码安全范围的程序应该考虑什么?
在查看 howsecureismypassword.net 的源代码后,我们看到它做了一些简洁的事情,例如保留前 500 个常用密码的列表,按所涉及的字符类别对密码进行分组,并将元分数与估计的破解时间相关联该范围内的一堆哈希值。这有一些问题,例如前 500 个密码不反映当前的“前 500 个”,而是在编写代码时的密码,密码破解速度也是如此,以及最终可能不会使用暴力破解的攻击。力量。
我在 passwordmeter.com 上看到了类似的问题,但更多是因为它运行的是最好的情况而不是最坏的情况。
所以我的问题是
在“现在”时间测量密码的安全分数需要考虑什么?