ProtectedData使用哪种加密算法?

时间:2013-04-08 07:33:48

标签: c# encryption passwords dpapi

对于密码加密,我想使用ProtectedData

据我所知,这是CryptProtectData的包装。

MSDN仅根据用户凭据声明有关加密的含糊不清的内容 如果用户有解密通常必须在同一台机器上完成 没有漫游资料。

它使用哪种加密算法?

是否有任何分析说明此加密是否适合密码存储?

如何实现本地密码存储?

1 个答案:

答案 0 :(得分:4)

This MSDN文章提供了有关CryptProtectDataDPAPI的更多信息,并且应包含您需要的信息。特别是:

  

DPAPI最初会生成一个名为MasterKey的强密钥,即   受用户密码保护。 DPAPI使用标准加密   在PKCS#5中描述的称为基于密码的密钥派生的过程   从密码生成密钥。然后是这个密码派生的密钥   与Triple-DES一起使用以加密最终存储的MasterKey   在用户的个人资料目录中。

本文适用于较旧版本的Windows,因此根据您的Windows版本,这些算法可能会发生变化,但它们的安全性可能不会低于此处提到的那些。

这是否适合“密码存储”,取决于你究竟是什么意思以及你要存储的密码。