Я читал, что пароль в WPF PasswordBox не имеет свойства зависимости для привязки пароля по соображениям безопасности. Несмотря на это, есть способы связать его в любом случае.
Пользователям шаблона MVVM требуется эта привязка данных; viewmodel не может коснуться PasswordBox напрямую, не нарушая шаблон. Один из способов работы с PasswordBoxes в настройке MVVM - передать весь элемент управления PasswordBox в ViewModel, но это все равно нарушает шаблон. Связывание пароля, вероятно, является самым чистым способом работы с паролями с использованием MVVM.
Существует аргумент против привязки пароля, поскольку он будет хранить пароль незашифрованного текста в незашифрованной памяти, пока не будет получен сбор мусора. Тем не менее, я вижу, что пароль все равно сохраняется в незашифрованной памяти с момента доступа к свойству Password
. Этот взгляд (или аналогичный), кажется, откомандирован в этот вопрос. Конечно, это будет в памяти в течение более короткого периода без привязки (не в том, что формы входа имеют тенденцию быть долгоживущими в любом случае), но риск все еще существует.
Учитывая эти аргументы, действительно ли плохая идея связать пароль? И почему?