哪个用户密码参数可以生成安全的Bcrypt密码?

时间:2015-12-15 20:20:06

标签: passwords bcrypt

问题涉及用户在创建帐户时输入的密码,例如,在某个网页上注册。

我遇到过网站,要求用户输入带有数字和特殊字符的大小写字母...某些网站发挥极致,要求用户遵循严格的指导原则。

这一切真的有必要吗?

创建安全用户密码后,有哪些最简单,最简单的规则?它在哪个时候成为安慰剂?

2 个答案:

答案 0 :(得分:2)

复杂的密码规则通常不会导致更安全的密码,真正重要的是:

  1. 最小长度,即使您遵循存储密码的最佳做法,也可以通过尝试每种组合来轻易地强制使用短密码。目前这意味着你应该接受不少于8个字符作为绝对最小值(越多越好)。
  2. 您可以采取的另一项措施是维护最常用密码列表,拒绝最常用的密码
  3. 人们无法记住大量强密码,复杂的规则会干扰良好的密码方案。如果其中一个规则拒绝了正确的密码,则用户通常会切换到较弱的密码。

    另一方面,即使严格的密码规则也无法阻止弱密码。人们可以非常有创造力地绕过这些规则,例如使用像Password-2015这样的弱密码(大多数规则都接受这一点)。如果一条规则至少需要一个数字字符,那么它通常会以最后一个字符password1结束,这使得暴力破解变得更加困难。

    如果你对复杂的规则过度使用,通常最终会使用较弱的密码而不是较强的密码。要改进密码,您可以鼓励用户发明一个密码短语,也可以使用ILikeToSleepUntil8InTheEvening这样的示例。

答案 1 :(得分:1)

根据受保护的内容存在很大差异,即实际需要的安全级别。在$。中评估您的需求。

这就是说创建密码远远落在破解列表中的规则真的很难。如果这是我的信息,我希望能够使用任何东西,包括真正愚蠢的密码,如果我不需要安全性。提出并记住好/硬密码并不容易。让它变得非常困难,人们将开始依赖密码重置,这很糟糕。

有密码列表,SecLists可能是最大的编译。看看你会发现简单的规则不起作用。

有关bcrypt的信息,请参阅How To Safely Store A Password

虽然上面的网站说bcrypt是唯一不合适的选择,但另一个很好的选择是PBKDF2(基于密码的密钥派生函数2),这是一个标准,也可以在大多数系统上使用。