我看到的所有示例最终都会在使用SecureString之前将其转换回标准字符串,从而击败对象。在没有这个问题的情况下使用安全字符串的好方法是什么?
我知道我可以将SecureString编组到BSTR,但是我可以用这个BSTR做什么?我可以一次取回一个角色吗?如果是这样,怎么样?
答案 0 :(得分:4)
此链接包含许多有用的信息,包括如何获取非托管内存块以将字符串传递给本机代码(可能也是安全的),使用它的BCL类以及指向几个示例的链接: / p>
http://bartdesmet.net/blogs/bart/archive/2006/03/31/3851.aspx
最重要的是,它还没有真正使用它,但你可以自由地创建依赖它的库。
答案 1 :(得分:0)
我认为描述SecureString的MSDN Page说得最好:
代表应保密的文字。
SecureStrings并不像字符串那样使用。它们应该是有限访问的信息持有者,应该增加安全性。
如果要修改SecureString的内容,则需要使用所有必要的方法。
但是,如果需要获取安全字符串的值,则必须使用ToString(),因为没有其他方法可以执行此操作。
换句话说,不要像字符串一样使用SecureStrings。