可以将其简化为单行吗?只要secureString被正确初始化,你就可以完全重写它。
SecureString secureString = new SecureString ();
foreach (char c in "fizzbuzz".ToCharArray())
{
secureString.AppendChar (c);
}发布于 2010-03-11 04:06:47
您可以使用Linq:
"fizzbuzz".ToCharArray().ToList().ForEach(p => secureString.AppendChar(p));发布于 2012-06-23 00:39:41
只需使用NetworkCredential即可。它有内置的转换逻辑。
SecureString ss = new NetworkCredential("", "fizzbuzz").SecurePassword;正如其他人所指出的,所有这些技术都剥夺了SecureString的安全优势,但在某些情况下(例如单元测试),这可能是可以接受的。
更新:
正如注释中所指出的,NetworkCredential还可用于将SecureString转换回字符串。
string s = new NetworkCredential("", ss).Password;发布于 2010-03-11 04:06:19
除了使用不安全的代码和char*之外,没有更好的方法了。
这里的重点不是将SecureString内容复制到普通字符串或从普通字符串复制。常量"fizzbuzz"常量是这里的安全漏洞。
https://stackoverflow.com/questions/2420122
复制相似问题