암호 속성을 가진 하나의 사용자 정의 컨트롤을 사용하고 있습니다. 해당 암호 속성을 설정하려면 DependencyProperty viewmodel 만든 사용하고 있습니다. 내가 응용 프로그램을 실행하고 스눕 도구 (SnoopWpf)를 사용하여 디버깅하려고 할 때 사용자 컨트롤 속성을 살펴보면 해당 컨트롤에 설정된 암호가 표시됩니다. 스눕 도구가 암호 속성 값을 표시하지 못하도록하고 싶습니다. perticular 종속성 속성에 보안을 추가 할 수있는 방법이 있습니까?민감한 종속 속성 값은 WPF 응용 프로그램의 스눕 도구에 의해 노출됩니다. 어떻게 방지합니까?
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 속성에 보안을 추가 할 수 있습니까? 어떤 디버깅 도구에서이 속성을 숨 깁니다.
몇 가지 참고 사항 :
여기
SecurePassword
속성을 사용할 수에 바인딩하는 동작을 사용하는 방법의 예입니다. 첫째, 이름 지정 규칙이 있습니다. 속성의 이름은 'MyPassword'와 같이 대문자로 시작해야합니다. 속성은 또한 그 이름으로 등록되어야합니다. 가장 안전한 방법은 문자열 리터럴 인 "MyPassword"대신'nameof (MyPassword)'입니다. 둘째, 의존성 속성 필드는 속성과 마찬가지로 'Property' 접미사, 즉 MyPasswordProperty라는 이름을 가져야하며'public static readonly '로 선언되어야합니다. 마지막으로, Register 호출의 세 번째 매개 변수는 typeof (MyControl)이어야합니다. – Clemens