我们有这个C#代码来解密数据:
ProtectedData.Unprotect(pdata, null, DataProtectionScope.CurrentUser);
该方法抛出“密钥无法在指定状态下使用。”
数据最初是在具有相同ID的其他计算机上加密的。
根据此方法的MSDN文档:
如果在模拟过程中使用此方法,则可能会收到以下错误:“密钥无法在指定状态下使用。”要防止出现此错误,请在调用方法之前加载要模拟的用户的配置文件。
我真的不明白最后一句话。如何加载我想要模拟的用户的个人资料?
答案 0 :(得分:0)
检查ProtectedData
班级说明:
此类提供对Data Protection API(DPAPI)的访问。这是由操作系统提供的服务,不需要其他库。它使用用户或计算机凭据提供保护,以加密或解密数据。
这意味着您无法使用不同的计算机,除非您以某种方式管理在两台计算机上拥有相同的用户帐户,那么您可以load it。