首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SecureString

使用SecureString
EN

Stack Overflow用户
提问于 2010-03-11 04:00:46
回答 8查看 56.3K关注 0票数 49

可以将其简化为单行吗?只要secureString被正确初始化,你就可以完全重写它。

代码语言:javascript
复制
SecureString secureString = new SecureString ();
foreach (char c in "fizzbuzz".ToCharArray())
{
    secureString.AppendChar (c);
}
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-03-11 04:06:47

您可以使用Linq:

代码语言:javascript
复制
"fizzbuzz".ToCharArray().ToList().ForEach(p => secureString.AppendChar(p));
票数 49
EN

Stack Overflow用户

发布于 2012-06-23 00:39:41

只需使用NetworkCredential即可。它有内置的转换逻辑。

代码语言:javascript
复制
SecureString ss = new NetworkCredential("", "fizzbuzz").SecurePassword;

正如其他人所指出的,所有这些技术都剥夺了SecureString的安全优势,但在某些情况下(例如单元测试),这可能是可以接受的。

更新:

正如注释中所指出的,NetworkCredential还可用于将SecureString转换回字符串。

代码语言:javascript
复制
string s = new NetworkCredential("", ss).Password;
票数 59
EN

Stack Overflow用户

发布于 2010-03-11 04:06:19

除了使用不安全的代码和char*之外,没有更好的方法了。

这里的重点不是将SecureString内容复制到普通字符串或从普通字符串复制。常量"fizzbuzz"常量是这里的安全漏洞。

票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2420122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档