将SecureString放入PasswordBox

tof*_*tim 9 c# security wpf securestring

我有一个现有的SecureString,我想放入PasswordBox 而不泄露.Password.可以这样做吗?例如:

tbPassword.SecurePassword = DecryptString(Properties.Settings.Default.proxyPassword);
Run Code Online (Sandbox Code Playgroud)

在这种情况下,DecryptString生成SecureString.但是,SecurePassword是一个只读属性,因此我无法为其赋值.

Sco*_*ain 10

你不能.

但是,你可以做的是将占位符文本放在它的位置(它甚至可以是"placeholder",我们只使用它来制作一些点以显示在框中).

放置占位符后,当您在程序中的某处检索"当前密码"时,首先检查PasswordChanged自输入占位符密码后事件是否已触发.如果事件未被触发,则使用旧的存储密码,如果事件已触发,则使用SecurePassword属性中的当前密码PasswordBox.