如何在.dll文件中保护我的连接字符串

时间:2016-09-23 11:59:09

标签: .net visual-studio

我使用visual studio制作了一个应用程序(Windows应用程序)。这个应用程序包含我的一些敏感数据,如连接字符串等。当我发布我的应用程序时,我得到了一些.exe.dll文件。但是当我在dotpeek和其他.net反编译器中打开这些.dll和.exe文件时,它们会返回与我编程的结果相同的结果。如果我公开发布我的应用程序,任何人都可以反编译我的应用程序并阅读或理解我的代码或解密密钥。我想知道,是否有任何安全的方法可以防止这种情况发生?提前致谢。 对不起我的英文..

1 个答案:

答案 0 :(得分:0)

简单的答案是你不能。即使你对它进行了模糊处理(通常很容易撤销),连接字符串也会在线上清​​除,并且可以被嗅探。问题是没有隐藏连接字符串,它正在摆脱它,如果它是(正如我所期望的)数据库连接字符串到您的服务器,这应该永远不会发生,您公开提供的不受信任的应用程序永远不能连接到在你的SQL服务器上,它应该使用定义良好的方法来调用Web服务,这些方法只执行应用程序应该执行的操作,并且内置了某种形式的身份验证,以将这些调用限制为个人允许的调用。

基本上,如果您的应用程序是公开发布并直接连接到您的数据库服务器,那么就像给予每个人在与您的应用程序相同的权限级别的数据库中读/写的直接权限,因为获取凭据将是微不足道的,不需要反编译,只需嗅探连接信息并查看应用程序发送的内容。您需要重新考虑您的架构。