Это может звучать как легкомысленный вопрос, но те, кто в области безопасности, получат его. Должен ли я позволить пользователю вводить любое количество символов, если оно больше 0 символов. Моя логика:
- пароль все равно будет хэширован и засолен, а
- веселее, если кто-то делает радужный стол, НЕ имеет никакой длины / других указаний, но
- Меня беспокоит атака по словарю грубой силы.
Я на правильном пути с этим?
Поскольку я задаю вопрос о нижнем пределе, я мог бы также спросить о верхнем пределе? Опять же, он будет хэширован и засолен, поэтому размер БД не является проблемой. Тогда единственная проблема, о которой я могу подумать в этом случае, это буферы больше, чем что-либо еще, верно?
Обновление Для опоздавших на вопрос
Таким образом, общее согласие, кажется, подтверждает то, что я первоначально думал, что риск грубой силы возрастает. Тем не менее, работа взломщика RT не станет настолько сложной из-за того, что они не имеют никакого представления о размере. На самом деле это можно сделать проще, так как они все равно начинаются с более низких таблиц символов. Правильный? (Не говоря уже о нетехнических проблемах, которые сейчас возникают, когда кто-то смотрит через плечо, и т. Д., Которые не столь важны для более длинного пароля.)
Таким образом, вывод таков: даже если вы хэшируете пароль, короткие пароли все равно остаются риском
Однако для длинных паролей я не уверен, что у меня есть окончательный ответ? Если я беспокоюсь о переполнении буфера, это все-таки обычное поле ввода.