我一直在寻找一种方法来存储给定的 AES 密钥,以便无法检索它,但它仍然可以用于加密和解密(使用 C#)。我认为可以找到非对称密钥存储的等效项here http://msdn.microsoft.com/en-us/library/tswxhw92%28VS.80%29.aspx,但我正在寻找可用于对称加密的东西。它是否以托管形式存在(.Net 4 之前的版本)?
Windows DPAPI(Win32 文档 http://msdn.microsoft.com/en-us/library/ms995355.aspx)及其 .NET 包装器(受保护数据类 http://msdn.microsoft.com/en-us/library/system.security.cryptography.protecteddata.aspx)不存储任何数据。相反,Windows DPAPI 返回一个加密密码值,您可以将其存储在您喜欢的任何地方,包括多个服务器上。
在我的工作场所,我们使用 DPAPI 为 AES 密钥生成密码,然后将其存储在注册表中。
Windows DPAPI 的唯一目的是加密数据,以便只有给定的用户帐户或计算机才能解密数据,而无需存储密码。
.NET ProtectedData 类自 2.0 起就已存在于 .NET Framework 中。
我会坚持使用 Windows DPAPI 而不是第三方产品,因为它成熟、稳定、免费、易于使用并且在 .NET 中得到完全支持。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)