Если вы хотите ограничить количество возможных символов, которые могут быть использованы для пароля в моей базе данных (mysql), просто я задаю тип varchar (#of chars), например: varchar (15). Для 15 максимальных символов, которые можно использовать?Ограничение количества символов для паролей?
ответ
Конечно, вы можете ограничить длину чего-либо, установив его длину поля в базе данных. Но это приведет к запутывающим ситуациям для ваших пользователей. Кто-то может подумать, что он использует надежный пароль, набрав 20-30 или более символов, но вы молча сохраняете только первые 15. Это может даже вызвать у него проблемы позже, если он изменит свой пароль и изменит только последние несколько символов - для вас это будет тот же 15-символьный пароль. Очень озадачивает.
Если вы ограничиваете длину, будьте предельно ясны в своем пользовательском интерфейсе с инструкциями и хорошими сообщениями об ошибках после проверки длины.
Но еще лучше, не ограничивайте длину пароля. Чем длиннее, тем лучше для надежных паролей!
«Возможно, это может вызвать у него проблемы позже, если он изменит свой пароль и изменит только последние несколько символов - вам будет тот же пароль с 15 символами». Кроме того, если вы когда-либо сделаете столбец длиннее, все с паролями длиннее 15 неожиданно перестанут работать. – ceejayoz
Я согласен с основанием этого, хотя, вероятно, нет дополнительной стоимости для паролей дольше, чем, скажем, 128 символов. Это побуждает меня задаться вопросом, каковы возможности для отказа в обслуживании, если злоумышленник пытается отправить пароли, близкие к пределу размера сообщения, который (я думаю) 2M по умолчанию в PHP и более широкий для всего сайта на некоторых системах, чтобы для больших загрузок файлов. Хеширование паролей такого рода не может быть хорошим для CPU. – halfer
Я думаю, что вы находитесь в очень плохом настроении, когда дело доходит до паролей. Вот несколько вещей, которые следует учитывать при работе с паролями.
Вы никогда не должны хранить простые пароли в БД. Перед сохранением всех паролей следует хэшировать. Стандартным стандартом является использование хэширования bcrypt. Он создает 60 character long string.
Дольше пароль, труднее его взломать. Это означает, что в идеале вы не должны ограничивать максимальное количество символов в пароле. С другой стороны, ограничение минимального количества символов - хорошая идея.
Читайте на пароле соления. Это способ повысить безопасность вашего пароля. Библиотеки bcrypt делают это за вас - вы должны позволить это, вместо того, чтобы пытаться придумать свои собственные соли.
Если вам действительно необходимо ограничить количество символов в пароле, сделайте это программно. Таким образом вы можете сообщить пользователю, что он превышает лимит. Если вы этого не сделали, у вас есть сценарий, описанный в ответе @ n8wrl.
Если я пропустил что-либо, оставьте это в комментариях, и я отредактирую ответ соответствующим образом.
1.) md5 не является шифрованием. 3.) Соление не обеспечивает безопасность для использованного входа. Это позволяет избежать того, что пароль может быть восстановлен из хэша с использованием таблиц радуги.(Также он гарантирует, что - если злоумышленник получит доступ, - он не смог восстановить все пароли с одним «ходом», но нуждался в индивидуальной соли за пароль) – dognose
Пожалуйста, не рекомендуем MD5 для хеширования паролей. Когда-либо. – ceejayoz
Вы правы. Я пытался сказать, что пароли должны быть зашифрованы или хэшированы. На самом деле это не означало, что MD5 был алгоритмом шифрования. Что касается соления, вы снова верны, если кто-то уже успел завладеть вашей БД. Однако, в зависимости от того, как вы создаете соль, это может быть дополнительная безопасность. – khuderm
- 1. Ограничение количества символов в форме
- 2. Ограничение количества символов в строке
- 3. Ограничение количества символов для первичного ключа
- 4. Ограничение количества символов в JTextField
- 5. Регулярные выражения, ограничение количества символов
- 6. Ограничение количества символов в строке
- 7. ограничение количества символов в GUID
- 8. Обернуть текст; ограничение количества символов в строке
- 9. WPF: ограничение количества символов в одной строке
- 10. Ограничение количества символов в сообщении в JTextPane
- 11. Javascript Regular Expression - ограничение количества допустимых символов
- 12. Ограничение количества символов в ContentEditable div
- 13. Ограничение количества символов в строке в css
- 14. Flex Rich Text Editor - ограничение количества символов
- 15. Ограничение количества символов в C# Строка
- 16. Ограничение количества символов, отображаемых в ячейке таблицы
- 17. Как переопределить ограничение количества символов в партиях?
- 18. Regex - ограничение количества символов в строке
- 19. Ограничение количества символов, отображаемых в поле Boundfield для gridview
- 20. ограничение woocommerce краткое описание продукта для максимального количества символов
- 21. Ограничение количества переменных Matlab
- 22. ограничение количества процессоров для пользователя
- 23. Ограничение на 160 символов для SMS-сообщений
- 24. WPF Текстовое поле для использования символов паролей?
- 25. Regex для проверки паролей с символов ограничений
- 26. Ограничение количества макс символов во всех дочерних элементов в XSD
- 27. Ограничение EditText в Android по ширине текста вместо количества символов
- 28. org.eclipse.swt.widgets.Text ограничение на количество символов
- 29. Ограничение количества символов JavaFX TextField вызывает IndexOutOfBounds при Undo
- 30. Имеет ли readHTMLTable ограничение количества символов в ячейке?
Вы должны прочитать хэширование пароля. Ограничение длины пароля редко, если вообще когда-либо, хорошая идея. – spenibus
Пожалуйста, ** не ** ограничивайте длину пароля. Кроме того, не ограничивайте набор символов паролем. * Всегда * хешировать пароль и хранить хеш, а не пароль открытого текста. Это подразумевает, что должен быть механизм для установки нового пароля при забытии старого. – wallyk