C# ProtectedData使用哪种加密算法?

C# ProtectedData使用哪种加密算法?,c#,encryption,passwords,dpapi,C#,Encryption,Passwords,Dpapi,对于密码加密,我想使用ProtectedData 据我所知,这是CryptProtectData的包装器 MSDN只对基于用户凭据的加密进行了模糊的说明 而且,如果用户需要,解密通常必须在同一台机器上完成 没有漫游配置文件 它使用哪种加密算法 是否有任何分析表明此加密是否适合密码存储 如何实现本地密码存储?MSDN文章提供了有关CryptProtectData和DPAPI的更多信息,应该包含您需要的信息。特别是: DPAPI最初生成一个称为主密钥的强密钥,即 受用户密码保护。DPAPI使用标准的

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

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

MSDN只对基于用户凭据的加密进行了模糊的说明 而且,如果用户需要,解密通常必须在同一台机器上完成 没有漫游配置文件

它使用哪种加密算法

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

如何实现本地密码存储?

MSDN文章提供了有关
CryptProtectData
DPAPI
的更多信息,应该包含您需要的信息。特别是:

DPAPI最初生成一个称为主密钥的强密钥,即 受用户密码保护。DPAPI使用标准的加密方法 PKCS#5中描述的基于密码的密钥派生过程 从密码生成密钥。然后,此密码派生密钥将被删除 与三重DES一起用于加密最终存储的主密钥 在用户的配置文件目录中

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


这是否适用于“密码存储”,在一定程度上取决于您的确切含义以及您存储的密码。

谢谢!这确实很有帮助。你知道加密有多强吗?它是否强大到足以保存数据库凭据?我不知道,但根据Wikipedia()的说法,一些Microsoft产品本身使用API来存储保存的凭据。它还引用了可能感兴趣的赛门铁克文档()。