Работа в системе входа в систему - точка, где клиент выбирает свой пароль для доступа к сайту.
Помимо использования RegEx для обеспечения достаточной надежности пароля, обычно в нашей системе все данные, которые попадут в базу данных, проверяются на предмет внедрения и т. Д., И разумно ограниченный набор символов применяется ко всем полям. На самом деле я не хочу особо ограничивающего набора символов для пароля, так как считаю, что контроль над ним - это некий паттерн безопасности.
Однако в случае с паролем я буду хэшировать его с соленым SHA-512 для вставки, что в любом случае вызывает несколько вопросов:
Есть ли какой-либо смысл ограничивать набор символов, который клиент может использовать в пароле - т.е. подвержен ли я каким-либо уязвимостям вне инъекции, которые, как я предполагаю, будут полностью обойдены хэшированием?
Должны быть недостатки в подходе «все разрешено» - я могу думать о том факте, что в будущем то, что сейчас является невинной комбинацией, может стать опасным - это реальная проблема, и есть ли другие, которые я возможно пропустил?
Существуют ли какие-либо символы / строки, которые необходимо отклонить - все равно они получат собственную защиту ASP.NET?
Возможно, немного более субъективно, но, учитывая, что это хеш SHA-512 - есть ли смысл ограничивать максимальную длину пароля, которую пользователь может выбрать (в пределах разумных параметров), предполагая, что пароль значительный размер / сложность может вызвать предупреждение, чтобы подтвердить, что они хотят установить его.
Спасибо за вашу помощь.
РЕДАКТИРОВАТЬ: Это веб-приложение ASP.NET, которое обращается к базе данных MSSQL2008 с помощью ADO.NET (не LINQ / EF).