如何确保新密码不包含以前密码中的3个或更多字符?

时间:2014-10-20 13:30:43

标签: sql security passwords

安全办公室已经更改了安全密码的要求。我需要弄清楚如何做到这一点。必须防止新密码包含先前密码中三(3)个或更多字符的序列。我将所有以前的密码存储在一个表中。我们使用MS SQL Server。在此之后,我还需要加密密码。

1 个答案:

答案 0 :(得分:1)

如果安全办公室想要提高安全性,他们应该切换到具有成本因素的慢速哈希算法,如BCrypt或PBKDF2。这比查找复杂的密码规则要好得多。

适当的哈希算法不允许对原始密码做出结论,因此无法判断是否使用了相同的字符。如果您的应用程序能够找到相似之处,那么攻击者也可以。因此,找到相似之处的唯一可能性是,在更改密码时要求输入旧密码(这是一件好事。)

复杂的密码规则通常不会导致更安全的密码。人们无法记住大量强密码,而这些规则可能会干扰良好的密码方案。人们可以非常有创造力地绕过这些规则,例如通过更改密码两次,或使用弱密码,如“密码-2014”复杂规则或强制密码更改。通常你会使用较弱的密码而不是较强的密码。