【问题标题】:What is the sense of permitting the user to use no passwords longer than xx chars?允许用户使用不超过 xx 字符的密码是什么意思?
【发布时间】:2012-04-19 03:02:41
【问题描述】:

这更像是一个可用性问题,或者可能是数据库,甚至可能是安全性(考虑注入攻击),但是允许用户的密码不超过 xx 个字符是什么意思?这对我来说没有任何意义,因为更长的密码通常被认为更好,更难破解,而且有些用户使用密码保险箱,所以密码长度应该无关紧要。

我知道超过 20 个字符的密码很难记住,但如果您使用 diceware 或密码保险箱,则不会有任何问题。我真的不明白为什么有些网站说“您的密码需要在 5 到 8 个字符之间”...

还要把密码保存为hash,所以数据库中字段的长度是固定的,问题出在哪里?

我认为大多数密码必须是固定长度的网站甚至没有使用任何散列方法。

【问题讨论】:

  • 没有任何意义,强制用户添加特殊字符或数字也是一种虚假的安全错觉。既然你理解了这一点,你就可以开始让世界变得更美好,让用户拥有 1 到 255 个字符之间的密码,任何字符都可以。 :)
  • 在我的程序中,您可能可以插入一整本书作为密码,它会起作用:D 但是有很多网站,例如paypal 最多有 20 个字符,所以有人可能有什么想法......也许可以防止任何注入攻击?
  • 但是如果密码被散列,那么理论上有可能与您用作密码的那本书相同的书的正确摘要也可以让我访问! :D 我怀疑这是一个比密码长度限制更大的安全漏洞。
  • 如果您使用非无冲突哈希算法,但这种情况发生的机会非常少。我知道 md5 是可能的,但我认为没有人会这样做,因为彩虹表要快得多

标签: database security passwords usability


【解决方案1】:

当您看到您选择的密码的上限时,您可以猜到他们希望将其存储为未散列的密码。这真的很糟糕。

密码“越长越好”,它们也应该由尽可能大的字母组成。这些差异在这里得到了很好的解释:https://www.grc.com/haystack.htm

【讨论】:

  • 是的,但贝宝??为什么他们应该不加密地存储它们?
  • 加密和散列是两个不同的东西。散列是单向的。他们将无法从哈希中恢复您的密码。这很重要,因为这样您的密码就不会泄露给第三方,以防他们的数据“丢失”。如果贝宝正在对密码进行哈希处理,则无需限制长度。如果无论如何都要这样做(我不知道),那就太愚蠢了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-10
  • 2013-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多