密码的字符/长度限制?

时间:2013-01-08 19:09:47

标签: database security passwords

我看到许多高调的网站和网络应用程序对密码有着看似荒谬的限制。是否有任何合理的理由对密码进行字符限制?更具体地说,常见的(例如,[shift] + [数字键])标准ASCII单字节字符?那些非常小的长度要求(5-8个字符)呢?

我能想到的唯一技术原因是密码是以纯文本形式存储而不是至少以某种方式进行混淆/散列。还有其他不那么令人担忧的原因我还没考虑过吗?

注意:我希望得到一些客观的答案,并希望避免尝试深入研究本主题的主观方面。我对为什么需要这样的限制的实际/具体技术原因更感兴趣。

2 个答案:

答案 0 :(得分:1)

有时,网站所有者希望在使用某些键盘/操作系统上无法再现的奇异字符时避免用户问题。请记住,您并没有真正看到自己的密码,因此您输入的内容很可能不是您的意思。想想Caps Lock。出于同样的原因Facebook is very relaxed wrt. character case in passwords

出于安全原因,密码长度的下限很明显。密码越短,破解所需的时间(以指数方式!)就越少。

我不明白为什么网站的密码长度有上限。毕竟它们都是哈希和盐渍的,因此所有密码都占据了数据库中完全相同的空间......

答案 1 :(得分:0)

说它们以纯文本形式存储与某些地方限制这些字符的原因无关,以纯文本存储是一个不同的问题。最常见的原因是底层操作系统无法处理任何“特殊”字符,企业升级缓慢。混淆很少。它几乎总是软件的限制,无论是他们使用的还是他们的团队创造的。

我相信Windows 2000及更早版本不能支持长度超过8的密码(我可能错在这个数字上)