如何保护应用程序中的多个连接字符串

本文关键字:连接 字符串 应用程序 何保护 保护 | 更新日期: 2023-09-27 18:31:39

我正在使用C#创建Windows表单应用程序。在我的应用程序中有 6 个连接字符串。这些正在从 6 个数据库加载数据。我想使用加密和解密来保护这些连接字符串。我在谷歌上找到了很多例子,但这些只适用于一个连接字符串。如何保护我的 6 个连接字符串?

谢谢

如何保护应用程序中的多个连接字符串

你的问题没有简单的答案。这实际上取决于您的信息的敏感程度以及攻击者希望获得这些信息的程度。原因很简单:.NET 应用程序可以轻松反编译(即使是经过混淆的应用程序)。

这意味着如果您存储加密的内容,则需要在任何地方存储加密密钥。通过使用反编译,攻击者可以拥有您的加密密钥,无论您的算法有多好,解密某些内容都只是时间问题。再说一遍,您存储的信息有多敏感?它会在一段时间后过期吗?如果没有,您希望获得多少保护?

没有好的方法可以将敏感信息存储在不会随时间更改其加密密钥的应用程序中。

但是,如果您认为您的信息不是那么敏感,并且可以使用"简单"加密,则可以尝试查看 .Net 的 Rijndael 加密,这里是如何使用它的链接以及有关其他加密方法的一些解释:http://www.codeproject.com/Articles/10154/NET-Encryption-Simplified

对称算法为简单目的的加密/解密提供了一种简单而良好的加密方式 - 假设您想在健康运动应用程序上存储里程跑步 - 但如果您存储信用卡号和密码的数据库可以访问银行账户等,加密不会随时间变化,则它们不安全。如果你的信息足够好,值得花一整年的计算机处理来解密这些信息......因此,时间对您的需求至关重要!

希望这对您的决定有所帮助。

我更喜欢加密web.config的各个部分来保护

http://msdn.microsoft.com/en-us/library/dtkwfdky%28v=vs.100%29.aspx

如果你有一个运行构建服务器,你可以让它加密web.config,这样你就可以用纯文本进行本地开发,并在生产机器上拥有加密的版本。