我一直在寻找一种方法来存储给定的 AES key ,以便它不能被检索,但它仍然可以用于加密和解密(使用 C#)。我认为可以找到非对称 key 存储的等效项 here ,但我正在寻找可用于对称加密的东西。它是否以托管形式存在(.Net 4 之前)?
最佳答案
Windows DPAPI ( Win32 documentation ) 及其 .NET 包装器 ( ProtectedData Class ) 不存储任何数据。相反,Windows DPAPI 返回一个加密密码值,您可以将其存储在任何您喜欢的地方,包括在多个服务器上。
在我的工作场所,我们使用 DPAPI 为 AES key 生成密码,然后将其存储在注册表中。
Windows DPAPI 的唯一目的是加密数据,这样只有给定的用户帐户或机器才能解密它,而无需存储密码。
.NET ProtectedData 类自 2.0 以来一直在 .NET Framework 中。
我会坚持使用 Windows DPAPI 而不是第三方产品,因为它成熟、稳定、免费、易于使用并且在 .NET 中得到完全支持。
关于c# - 如何使用 .Net (C#) 在 Windows 中安全地存储 AES key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3826012/