我正在使用OdbcConnection与DB2数据库进行通信。
using (var conn = new ODBCConnection("Database=Database;UID=user;PWD=password"))
{
conn.Open();
…
}
我担心有权访问该计算机的人可能会试图窃取数据库凭据。我已经混淆了代码但是可以使用packetsniffer来获取连接字符串吗?如果有,有办法防止这种情况发生吗?
答案 0 :(得分:0)
您可以将连接字符串存储在App.Config / Web.Config中,然后就可以加密连接字符串
http://msdn.microsoft.com/en-us/library/zhhddkxy(v=vs.100).aspx
答案 1 :(得分:0)
如果有人可以访问您的程序集或可执行文件,则可以使用ildasm来读取C#编译成的中间语言(CIL)。即使您对代码进行模糊处理,也很容易检索字符串文字。
混淆器通常会加密String文字,并在使用之前注入额外的方法调用来解密它们。这意味着可以获得解密例程的实现和密钥,并自己运行它们。
所以,要回答你的问题,你甚至不需要使用数据包嗅探器来获取信用,你可以通过检查IL来实现。