我想在注册表中存储System.SecureString。那可能吗?我该怎么做呢?
我的程序在下次运行时能否再次解密字符串?
答案 0 :(得分:2)
如果没有辅助层,则无法以加密形式进行操作。它本身并不支持任何形式的序列化,实际上甚至无法以其原生形式进行检查。要从中获取任何信息,您需要通过PInvoke或SecureStringToBSTR
API。这两种方法都可以让您以未加密的形式访问string
。
我能看到这种方法的一种方式是
SecureString
BSTR
转换为SecureStringToBSTR
BSTR
当然,您需要使用可在程序实例之间重复使用的加密机制。
答案 1 :(得分:1)
查看MSDN中的Storing Private Data文章。您必须pInvoke LsaStorePrivateData()调用。