1

我如何附加多个SecureStrings?

因为我做不到

SecureString pepper 
SecureString salt
SecureString pepperAndSalt = pepper + salt;

如果我要使用
SecureString.AppendChar(Char)
我将不得不将盐转换为不安全的字符数组,这是我想避免的。

4

2 回答 2

2

你不能1根据定义

请注意,SecureString 没有检查、比较或转换 SecureString 值的成员。此类成员的缺失有助于保护实例的价值免受意外或恶意暴露。使用 System.Runtime.InteropServices.Marshal 类的适当成员(例如 SecureStringToBSTR 方法)来操作 SecureString 对象的值。

一旦你得到一个值,你就不能把它拿出来。

1 : 除非你愿意通过 using 开始使用非托管代码Marshal.SecureStringToBSTR,但这会违背SecureString...</p>

于 2015-11-27T10:25:02.943 回答
0

一种解决方法是使用System.Runtime.InteropServices.Marshal答案中描述的类将安全字符串转换为字符串,附加两个字符串并将连接的字符串转换回安全字符串

于 2015-11-27T10:28:25.023 回答