我有一种情况,我的 Web 应用程序将部署在多个 Web 服务器上,并且我希望在 DB 服务器上存储一些安全加密的数据(每个 Web 服务器都有一个与之配对的 DB 服务器)。
现在,我想做的是实现Encrypt和使用该类Decrypt的库函数。AesManaged这些将使用对每台服务器不同的 AES 密钥(我们将为部署时的每台服务器生成一个新密钥) - 这样,每台服务器将使用不同的密钥。然后我们将使用SectionInformation.ProtectSection()将它们加密Web.config,因此它们是安全的。
但是,我遇到了ProtectedData班级。这与 Windows DPAPI 功能挂钩,并允许对称加密和解密。现在我想知道,我使用AesManaged自己生成的密钥有什么意义,还是应该只使用加密和解密数据ProtectedData?各自的优缺点是什么?