如何以安全的方式将SecureString附加到SecureString

时间:2015-11-27 10:12:52

标签: c# security append securestring

如何附加多个SecureString

因为我无法做到

SecureString pepper 
SecureString salt
SecureString pepperAndSalt = pepper + salt;

如果我愿意的话     SecureString.AppendChar(Char)
我必须将salt转换为一个不安全的char数组,这是我想避免的。

2 个答案:

答案 0 :(得分:2)

你不能 1 by definition

  

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

获得价值后,您无法将其取出。

1 :除非您愿意使用Marshal.SecureStringToBSTR开始使用非托管代码,否则无法使用SecureString ...

答案 1 :(得分:0)

解决方法可以使用this中描述的System.Runtime.InteropServices.Marshal类来将安全字符串转换为字符串,将两个字符串追加并将连接的字符串转换回安全字符串