2013-04-08 58 views
4

对于密码加密,我想使用ProtectedDataProtectedData使用哪种加密算法?

据我发现,这是一个CryptProtectData包装。

的MSDN只规定一些含糊根据用户凭证 和解密通常必须在同一台机器上进行加密,如果用户没有 漫游配置文件。

它使用哪种加密算法?

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

如何实现本地密码存储?

回答

4

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

DPAPI最初生成一个强密钥,称为MasterKey,它是用户密码保护的 。 DPAPI使用标准加密 过程,称为基于密码的密钥派生(PKCS#5中描述),从 生成密码。这个密码派生密钥然后是 与Triple-DES一起使用来加密MasterKey,最终将 存储在用户的配置文件目录中。

本文适用于Windows的较早版本,因此根据您的Windows版本,这些算法可能会更改,但它们的安全性可能不会比此处提及的安全性要低。

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

+0

谢谢!确实非常有用。你知道任何研究加密有多强吗?它能够保存数据库凭证吗? – 2013-04-08 10:12:08

+0

我不是,但根据维基百科(http://en.wikipedia.org/wiki/Data_Protection_API),一些微软产品本身使用API​​来存储保存的证书。它也指可能有兴趣的Symantec文档(http://www.symantec.com/connect/articles/password-management-concerns-ie-and-firefox-part-one)。 – Marcus 2013-04-08 11:54:32

+0

赛门铁克文档非常好。谢谢 – 2013-04-08 14:10:31