允许密码中的空格

时间:2012-01-16 01:21:41

标签: php passwords

我正在写一个PHP脚本,我想知道是否应该在用户密码中允许空格。我正在使用sha1()来对密码进行哈希处理,并且使用包含空格的密码似乎没问题。但是,我注意到很多主要站点都不允许密码包含空格。有这个原因还是可以允许它们?

4 个答案:

答案 0 :(得分:12)

您应该绝对允许密码中的空格。许多人更喜欢使用传递短语,并且通过禁用空格,你正在为他们的生活变得艰难而没有任何好处。

除了允许使用密码短语而不是密码之外,你还应该鼓励他们,因为它们是more secure(好吧,我承认我写这篇文章的一半原因是放入xkcd链接)。

答案 1 :(得分:4)

绝对没有理由永远限制用户可以在密码中使用的字符。如初。

答案 2 :(得分:1)

我不明白为什么会这样。如果它不会导致您的实现出现任何问题(并且它不应该),那么它所做的就是将可用的字符空间扩展1,并使得破解更加困难。

答案 3 :(得分:1)

限制密码中允许的字符是没有意义的,只要您的散列机制能够每次都以相同的方式对它们进行哈希处理。例如,如果您打算从使用不同字符编码的系统进行密码检查,您可能不想散列多字节字符,例如在PHP中散列密码并尝试用Java检查密码。