我如何附加多个SecureString
s?
因为我做不到
SecureString pepper
SecureString salt
SecureString pepperAndSalt = pepper + salt;
如果我要使用
SecureString.AppendChar(Char)
我将不得不将盐转换为不安全的字符数组,这是我想避免的。
我如何附加多个SecureString
s?
因为我做不到
SecureString pepper
SecureString salt
SecureString pepperAndSalt = pepper + salt;
如果我要使用
SecureString.AppendChar(Char)
我将不得不将盐转换为不安全的字符数组,这是我想避免的。
你不能1,根据定义:
请注意,SecureString 没有检查、比较或转换 SecureString 值的成员。此类成员的缺失有助于保护实例的价值免受意外或恶意暴露。使用 System.Runtime.InteropServices.Marshal 类的适当成员(例如 SecureStringToBSTR 方法)来操作 SecureString 对象的值。
一旦你得到一个值,你就不能把它拿出来。
1 : 除非你愿意通过 using 开始使用非托管代码Marshal.SecureStringToBSTR
,但这会违背SecureString
...</p>
一种解决方法是使用此System.Runtime.InteropServices.Marshal
答案中描述的类将安全字符串转换为字符串,附加两个字符串并将连接的字符串转换回安全字符串