密码中是否应该允许空格字符?

时间:2011-03-29 15:33:33

标签: security string passwords whitespace

我尝试过不同的网站/产品,这似乎是相当均匀的。 Windows 7和Gmail允许您在密码中插入空格。 Hotmail和Twitter没有。

虽然在密码中允许空格会增加密码的复杂性,但似乎很多网站/程序都不允许这样做。是否有充分理由允许/禁止空间?

3 个答案:

答案 0 :(得分:4)

This SuperUser question可能是相关的。

我认为你的观察是准确的:许多基于网络的系统只接受字母数字和符号字符的子集(比如0-9A-Za-z/_-!),但我认为这只是历史惯例。也可能是程序员习惯于<space>字符分隔字段,而不是在其中找到。

还有可见性问题:如果您在密码中允许多个连续空格,用户是否可以轻松统计它们?系统甚至可能将它们合并为一个(如果没有帮助的HTML)?甚至可以轻松快速地识别单个空格字符吗?

但是,许多其他类型的系统确实允许密码中的空格。我可能仍然偏离它们只是为了帮助防止用户混淆(如果人们确实习惯了密码中的空格无效,带有空格的密码可能会让许多人感到困惑),但似乎没有任何技术理由不允许他们。

答案 1 :(得分:0)

我看到的主要问题是用户的可用性,例如:尾随空格。此外,如果您开始允许不可见的字符,如空格,您也可能开始允许各种其他不可见的字符,如标签等。 Imho的缺点超过了好处。要使密码真正安全,只需增加长度并允许一些特殊字符,数字和字母,并且具体情况。用例如&GT;在这个阶段几乎牢不可破的20位数字(至少在努力方面......)。

答案 2 :(得分:0)

以下是测试密码强度的快速方法 - 使用谷歌自己的帐户密码API:

https://www.google.com/accounts/RatePassword?Passwd=mypwd

根据你关于空格的问题,我输入了一个包含两个字符和一个空格“t t”的简单密码。谷歌给出的密码为4分中的3分。如果我使用相同的密码,但删除空格“tt”,收到的评分是1分。按照谷歌的评级标准,包括空格可以提高密码的质量/强度