Должно быть так же просто, как:
[Required]
[DataType(DataType.Password)]
[StringLength(20, MinimumLength = 3)]
string password;
Первый параметр StringLength
- это максимальная длина .
Теперь за мои 0,02 доллара:
Как отмечалось в комментариях, предоставление минимальных и максимальных ограничений для полей вашего пароля многое говорит злоумышленнику о ваших требованиях к паролю, и они могут оптимизировать свою атаку на основе этой информации.
Кроме того, будьте осторожны с хранением и передачей незашифрованных паролей - вы должны солить + хешировать их как можно скорее, используя алгоритм одностороннего шифрования и случайное солт. Проверка паролей должна повторить шифрование на вводе пользователя, используя известную соль и сравнивая полученные хеши. Если вы делаете больше с открытым паролем, чем отправляете его, вы можете пересмотреть свою стратегию безопасности.