“密钥无法在指定状态下使用”:如何加载用户的个人资料以进行模拟?

时间:2015-06-17 08:57:19

标签: c# .net

我们有这个C#代码来解密数据:

ProtectedData.Unprotect(pdata, null, DataProtectionScope.CurrentUser);

该方法抛出“密钥无法在指定状态下使用。”

数据最初是在具有相同ID的其他计算机上加密的。

根据此方法的MSDN文档:

  

如果在模拟过程中使用此方法,则可能会收到以下错误:“密钥无法在指定状态下使用。”要防止出现此错误,请在调用方法之前加载要模拟的用户的配置文件。

我真的不明白最后一句话。如何加载我想要模拟的用户的个人资料?

1 个答案:

答案 0 :(得分:0)

检查ProtectedData班级说明:

  

此类提供对Data Protection API(DPAPI)的访问。这是由操作系统提供的服务,不需要其他库。它使用用户或计算机凭据提供保护,以加密或解密数据。

这意味着您无法使用不同的计算机,除非您以某种方式管理在两台计算机上拥有相同的用户帐户,那么您可以load it