其他分享
首页 > 其他分享> > CodeGo.net> SecureString的解决方案是好的,但有内在矛盾吗?

CodeGo.net> SecureString的解决方案是好的,但有内在矛盾吗?

作者:互联网

我看到了这个线程:

When would I need a SecureString in .NET?

代码是:

SecureString password = new SecureString("password");

SecureString pass = new SecureString();
foreach (char c in "password".ToCharArray())
    pass.AppendChar(c);

而且我确实理解第二个字符的好处(逐个字符添加char)-以便黑客无法跟踪内存中随机位置的所有字符(相对于他可以在内存中找到一个字符串).

我不了解的部分是该部分:

那个黄色代码在内存中有区别!

那么…好处在哪里?

解决方法:

ToCharArray()的第二个代码示例仅演示了填充安全字符串的受限方法.它不是(最佳)实践的样本.

链接到的线程可以提供大多数答案:Securestring提供了避免纯文本密码(在内存中)的部分解决方案.不是完整的解决方案.

但是,请从接受的答案中得出以下两点:

> WPF的PasswordBox控件在内部将密码保留为SecureString.
> System.Diagnostics.ProcessInfo的Password属性是SecureString.

它们一起使您可以安全地将密码传输到进程.

标签:securestring,c,net
来源: https://codeday.me/bug/20191101/1986859.html