我想在注册表中存储一个 System.SecureString。那可能吗?我将如何着手去做?
下次运行时我的程序是否能够再次解密字符串?
最佳答案
如果没有辅助层,就不可能以加密形式进行操作。它本身不支持任何形式的序列化,实际上甚至无法以其原生形式进行检查。要从中获取任何信息,您需要通过 PInvoke 或 SecureStringToBSTR
API。这两者都可以让您以未加密的形式访问 string
。
我可以看到这个工作的一种方式是
- 通过
SecureStringToBSTR
将SecureString
转换为BSTR
- 加密
BSTR
- 将结果存储在注册表中
当然,您需要使用可在程序实例之间重复使用的加密机制。
关于.net - 如何在注册表中存储 SecureString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6216906/