Click-Once - 如何加密连接字符串

7
我有一个使用App.config存储连接字符串的WPF应用程序。在ClickOnce部署中,加密这些连接字符串的最佳方法是什么?
谢谢。
1个回答

4

如果这是一个连接字符串,将由应用程序的一个实例在单个计算机上配置和使用(而不是跨多台计算机共享),则可以使用DPAPI(数据保护API)的.NET托管包装器——ProtectedData类(System.Security.Cryptography)。

一个巧妙的技巧是,您还可以创建扩展方法来编码和解码字符串,这样操作就变得非常简单:

string encodedString = myConnectionString.EncodeString();

string decodedString = encodedString.DecodeString();

希望这有所帮助!

2
但是在这种方法中,服务器上的配置文件中包含明文连接字符串,并且它会以明文形式通过网络传输到客户端,对吧? 那么在ClickOnce场景下,何时进行加密/解密操作呢? - Gus Cavalcanti
啊,我明白了。我建议你查看一些其他可用的System.Security.Cryptography类,看看是否可以使用某种预共享密钥加密连接字符串,并在客户端应用程序上使用相同的密钥进行解密。http://msdn.microsoft.com/en-us/library/system.security.cryptography.aspx祝你好运! - Mark Carpenter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接