C#connectionString加密问题

5Yr*_*DBA 6 c# encryption

我正在学习如何为我们的C#(3.5)应用程序加密ConnectionString.我阅读了关于保护连接字符串的.Net Framwork开发人员指南(http://msdn.microsoft.com/en-us/library/89211k9b(VS.80).aspx).但不完全了解内容.

  1. 它说" The connection string can only be decrypted on the computer on which it was encrypted."我们有一个发布机器,它将构建我们的应用程序,它将生成OurApp.exe.config,然后将其安装到许多产品机器上.是不是我们必须将这个加密过程与我们的应用程序分开并在个人运行产品机器?

  2. 我们可以使用" RSAProtectedConfigurationProvider".它提到我们需要encryption key该提供者.何时以及如何提供加密密钥?

谢谢,

Gre*_*ead 1

  1. 配置使用机器密钥加密。这意味着只有拥有该密钥的计算机才能解密它。最简单的方法是使用未加密的配置进行部署,然后在软件运行时对其进行加密,或者使用单独的进程来加密配置。您可以使用上面的 code4life 答案来分发原始机器密钥以在其他机器上使用

  2. 请参阅此 MSDN 指南 - http://msdn.microsoft.com/en-us/library/dtkwfdky.aspx,而不是逐步转录如何使用 RSA 加密密钥