敏感的依赖性属性值是通过wpf应用程序中的Snoop工具公开的,如何预防



我正在使用一个具有密码属性的用户控件。要设置该密码属性,我正在使用在ViewModel中创建的dependencyProperty。当我正在运行应用程序并尝试使用Snoop工具(SnoopWPF)进行调试,当我查看用户控件属性时,它显示了该控件的密码设置。我想防止Snoop工具显示密码属性值。有什么办法可以将安全性添加到perticular依赖属性?

XAML代码:

<class:MyControl x:Name="myControl" IsReadOnly="True" 
CtlPassword="{Binding myPassword, Mode=OneWay}" 
</class:MyControl> 

private static DependencyProperty PasswordProperty = DependencyProperty.Register("myPassword", typeof(String), typeof(myControl), new PropertyMetadata(null));
public String myPassword
{
     get { return (String)GetValue(PasswordProperty); }
     set { SetValue(PasswordProperty, value); }
}

我查看了此链接中的一种解决方案 - 窥探解决方案我们可以为此MyPassword属性添加任何安全性吗?它将从任何调试工具中隐藏此属性

不要将密码存储在string属性中。如果您关心安全性,这是一个很大的禁忌。至少使用SecureString-或根本不存储它们。

有一个示例,说明如何使用行为绑定到可用的SecurePassword属性:

将SecurePassword绑定到ViewModel

最新更新