【发布时间】:2012-04-19 03:02:41
【问题描述】:
这更像是一个可用性问题,或者可能是数据库,甚至可能是安全性(考虑注入攻击),但是允许用户的密码不超过 xx 个字符是什么意思?这对我来说没有任何意义,因为更长的密码通常被认为更好,更难破解,而且有些用户使用密码保险箱,所以密码长度应该无关紧要。
我知道超过 20 个字符的密码很难记住,但如果您使用 diceware 或密码保险箱,则不会有任何问题。我真的不明白为什么有些网站说“您的密码需要在 5 到 8 个字符之间”...
还要把密码保存为hash,所以数据库中字段的长度是固定的,问题出在哪里?
我认为大多数密码必须是固定长度的网站甚至没有使用任何散列方法。
【问题讨论】:
-
没有任何意义,强制用户添加特殊字符或数字也是一种虚假的安全错觉。既然你理解了这一点,你就可以开始让世界变得更美好,让用户拥有 1 到 255 个字符之间的密码,任何字符都可以。 :)
-
在我的程序中,您可能可以插入一整本书作为密码,它会起作用:D 但是有很多网站,例如paypal 最多有 20 个字符,所以有人可能有什么想法......也许可以防止任何注入攻击?
-
但是如果密码被散列,那么理论上有可能与您用作密码的那本书相同的书的正确摘要也可以让我访问! :D 我怀疑这是一个比密码长度限制更大的安全漏洞。
-
如果您使用非无冲突哈希算法,但这种情况发生的机会非常少。我知道 md5 是可能的,但我认为没有人会这样做,因为彩虹表要快得多
标签: database security passwords usability