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