如何以安全的方式将SecureString附加到SecureString
本文关键字:SecureString 方式 安全 | 更新日期: 2023-09-27 18:24:47
如何附加多个SecureString
?
因为我不能做
SecureString pepper
SecureString salt
SecureString pepperAndSalt = pepper + salt;
如果我使用
SecureString.AppendChar(Char)
我必须将salt转换为一个不安全的char数组,这是我想要避免的。
您不能1,根据定义:
请注意,SecureString没有检查、比较或转换SecureString值的成员。缺少这样的成员有助于保护实例的值不受意外或恶意暴露的影响。使用System.Runtime.InteropServices.Marsal类的适当成员(如SecureStringToBSTR方法)来操作SecureString对象的值。
一旦你得到了一个价值,你就不能把它拿出来。
1:除非您愿意通过使用Marshal.SecureStringToBSTR
开始使用非托管代码,但这将违反SecureString
的使用…
解决方法可以使用本答案中描述的System.Runtime.InteropServices.Marshal
类将安全字符串转换为字符串,附加两个字符串,并将连接的字符串转换回安全字符串