Разрешение пробелов в паролях - PullRequest
4 голосов
/ 16 января 2012

Я пишу скрипт php, и мне было интересно, должен ли я разрешить пробелы в паролях пользователей.Я использую sha1() для хеширования пароля, и, похоже, он подходит для паролей, содержащих пробелы.Тем не менее, я заметил, что многие крупные сайты не позволяют паролям содержать пробелы.Есть ли причина для этого, или можно разрешить им это?

Ответы [ 4 ]

12 голосов
/ 16 января 2012

Вы должны определенно разрешить пробелы в паролях.Многие люди предпочитают использовать пароли фразы , и, не допуская пробелов, вы усложняете им жизнь без всякой выгоды.

В дополнение к разрешению парольных фраз вместо паролей вы должны также поощрять их, потому чтоони более безопасны (ОК, я допускаю, что половина причины, по которой я написал это, заключалась в том, чтобы вставить ссылку xkcd).

4 голосов
/ 16 января 2012

Нет абсолютно никаких оснований для когда-либо ограничения символов, которые пользователи могут использовать в своих паролях.Когда-либо.

1 голос
/ 16 января 2012

Ограничивать символы, разрешенные в пароле, бессмысленно, если ваш механизм хеширования может каждый раз идентично их хэшировать. Например, вы можете не захотеть хэшировать многобайтовые символы, если вы собираетесь выполнять проверку пароля из системы, в которой используется другая кодировка символов, например, хеширование пароля в PHP и попытка проверить его в Java.

1 голос
/ 16 января 2012

Я не понимаю, почему так будет. Если это не вызовет проблем с вашей реализацией (и не должно), все, что нужно сделать, это расширить доступное пространство символов на 1 и значительно усложнить взлом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...