谁用DPAPI加密密码?

时间:2012-08-15 18:42:43

标签: asp.net dpapi

我正在使用DPAPI来加密我的asp.net配置文件。从我对DPAPI的简要介绍中,我知道它使用Windows密码作为进行加密的密钥。问题,谁的Windows密码?

如果我有一个asp.net网络应用程序,并且我在application_start事件中挂钩配置文件加密,它是否会使用我的应用程序池标识(网络服务)密码?

如果我有一个桌面控制台应用程序,并且我有一个Windows Scheduler定期运行此应用程序,其密码将由DPAPI用于加密/解密配置文件?

1 个答案:

答案 0 :(得分:1)

加密或解密时,DPAPI接受三个参数...

  1. 数据(字节数组)
  2. 可选的熵(字节数组),即盐
  3. '范围'(System.Security.Cryptography.DataProtectionScope.CurrentUserSystem.Security.Cryptography.DataProtectionScope.LocalMachine
  4. 由于'entropy'被特别命名为'optional',如果没有提供,那么只使用用户凭据或机器凭据进行加密,这意味着它将无法加密在不同用户或不同用户下运行不同的机器,无论你使用哪个“范围”。

    我称可选的熵'salt',因为它是密码学中常用的术语,用于“辅助”密码,它与用户或机器凭证混合,然后需要密码和特定用户或机器凭证

    简答:使用的'密码'来自用户凭据或机器凭据