我看过很多将密码长度限制为10或12个字符的网站。据我所知,这可能是他们以纯文本格式存储密码并且限制长度的标志,因为他们认为这会节省空间,但如果他们将密码存储为哈希,这个限制是否有任何优势? / p>
编辑:我非常清楚更长的密码更强,哈希是哈希,无论输入如何,长度都是相同的。我的真正的问题是系统设计师使用某种令人费解的理由来合理化这种固有的不安全做法吗?
答案 0 :(得分:1)
哈希函数接受未指定长度的输入,并返回指定长度的值。所以不,输入的长度对输出的长度没有影响,因为对于给定的散列函数,输出的长度总是相同的。
在用户可以使用的密码长度上设置下限只是为了鼓励用户使用更强的密码。上限,我不能说。可能是针对垃圾邮件机器人的东西,或者出于性能原因他们不想要处理200个字符的密码。
并且没有人以明文存储密码。
答案 1 :(得分:0)
没有。如果他们在现实生活中真实地存储纯文本,那就不是什么好处了。
答案 2 :(得分:0)
要直接回答您的问题,不,故意实施较低的最大长度没有任何好处。你会发现,当存在遗留依赖时,就会发生这种情况;你的密码只能是10个字符,因为它的后端是一个实现这个限制的系统。
我怀疑Tesco's等情况就是这种情况。你已经有13岁以上的系统了,正如你所说,它(据称)是以明文形式存储密码,并且可能有多个点实现10个聊天限制(DB col,SQL命令参数等)。
我能想到的唯一原因 - 这是一个延伸 - 是没有lmit的文本框可以允许超过最大请求长度,但我们在这里谈论可笑的长密码。