1

我正在使用一个具有密码属性的用户控件。要设置该密码属性,我使用在 viewmodel 中创建的 DependencyProperty。当我运行应用程序并尝试使用 Snoop 工具(SnoopWpf)进行调试时,当我查看用户控件属性时,它会显示为该控件设置的密码。我想防止窥探工具显示密码属性值。有什么方法可以为特定的依赖属性添加安全性?

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); }
}

我查看了此链接以获取其中一种解决方案 - Snoop proof solution 我们可以为这个 myPassword 属性添加任何安全性吗?这将从任何调试工具中隐藏此属性

4

1 回答 1

1

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

这里有一个如何使用行为将 绑定到SecurePassword可用属性的示例:

将 SecurePassword 绑定到 ViewModel

于 2017-12-04T16:22:59.417 回答