C#SecureString当用户想要查看时,如何显示密码?

C#SecureString当用户想要查看时,如何显示密码?,c#,wpf,password-protection,securestring,C#,Wpf,Password Protection,Securestring,我读过关于SecureString类的书,读过很多关于它的不同观点 在这一点上,我真的不知道如何在WPF应用程序中正确使用它 问题出在登录时。 我有: 现在,场景: A User enters his password and sees -> ***** A user wants to see his password in plain text, so he presses 'show password' button. BAM! user password is exposed in

我读过关于
SecureString
类的书,读过很多关于它的不同观点

在这一点上,我真的不知道如何在WPF应用程序中正确使用它

问题出在登录时。 我有:

现在,场景:

A User enters his password and sees -> *****
A user wants to see his password in plain text, so he presses 'show password' button. 
BAM! user password is exposed in memory.

我的问题是:此时如何避免密码泄露?有没有正确的方法来实现“显示密码”功能

这回答了你的问题吗?我不是一个安全专家,但如果它在内存中,而您已经在屏幕上显示,那么它真的有那么大的区别吗?建议您不要在新开发中使用
SecureString
。这是一个,这是一个,这是一个,这是没有傻瓜的方式做这件事。不管你做什么。您可以gc.收集或将不安全的字符串存储在字节*中,然后覆盖,或者以任何其他方式。它不会阻止键盘记录者、屏幕截图、或有人用手机或任何数量的恶意软件站在你身边。如果有人要为你的密码转储你的内存,那么他们可能会使用100种其他方法中的1种来阻止你的安全客户端,你登录的每个网页都会以明文形式存储你的密码。如果您担心安全性,甚至害怕有人读取您的内存,那么您应该探索其他身份验证方法。
A User enters his password and sees -> *****
A user wants to see his password in plain text, so he presses 'show password' button. 
BAM! user password is exposed in memory.