我有以下情况:
不同机器上的多个应用程序将使用 RSA 加密共享存储在数据库中的信息。
今天,我正在以一种不安全的方式来做这件事。这些机器共享一个包含 XML 格式的 RSA key 的 DLL。
我如何使用此 XML 中的信息在不同的机器上生成机器 key ,然后如何在 RSACryptoServiceProvider 中使用它们?
请您参考如下方法:
我过去所做的:(这只是一个大纲;如果您需要实际代码,我可以提供,但听起来您的问题只是在寻找想法。)
必须在每台机器上完成以下操作。 (您可以创建一个简单的控制台应用程序或一个 powershell 脚本来执行此操作。)
- 使用
ProtectedData.Protect加密 key - 将加密 key 存储在注册表中。您可以在注册表项上设置 ACL 权限以提高安全性。
在您的应用中,使用 ProtectedData.Unprotect 获取 key ,然后将其传递给 RSACryptoServiceProvider 进行加密和解密。
