如何安全地使用SecureString?

24 .net c# security

我看到的所有示例最终都会在使用之前将SecureString转换回标准字符串,从而击败对象.没有这个问题,使用安全字符串的好方法是什么?

我知道我可以将SecureString编组到BSTR但是我可以用这个BSTR做什么?我可以一次取回一个角色吗?如果是这样,怎么样?

Mat*_*nes 0

我认为描述 SecureString 的MSDN 页面说得最好:

表示应保密的文本。

SecureString 并不意味着像字符串一样使用。他们是信息的有限访问持有者,这些信息应该受到更高的安全性的约束。

如果您想修改 SecureString 的内容,所有必要的方法都在那里。

但是,如果您需要获取安全字符串的值,则必须使用 ToString(),因为没有公开其他方法来执行此操作。

换句话说,不要像字符串一样使用 SecureStrings。

  • ToString 不返回字符串的内容,仅返回对象类型名称。您可以将 SecureString 编组到 bstr,但我不知道从那时起您如何使用它。仅仅因为它是机密的并不意味着您不需要使用它。信用卡号码是保密的,但我仍然想要钱! (13认同)