当您将连接字符串存储在 app.config 中时,您可以在已编译的 DLL 中看到 SQL 连接字符串用户名和密码

you can see SQL connection string username and password in compiled DLL when you store connection string in app.config

我有一个 .net class 库可以编译成 dll。在这个项目中我有数据集。在我的项目下 - settings.settings 我保留我的连接字符串。这是 SQL 身份验证。

然后,当我使用 wingrep 搜索用户名和密码时,瞧瞧,我可以在 DLL 中以明文形式清楚地看到它。

有没有办法让 dll 使用记事本不容易读取?
在 settings.settings 下设置连接字符串不是最好的主意吗?
请指教?

谢谢

不确定这是否符合我的目的? http://www.developer.com/net/vb/article.php/10926_3500906_2/Encrypt-Connection-Strings-in-VS-2005-config-Files.htm明天测试更新

您如何部署此应用程序?

如果它是一个 Web 应用程序,那么任何可以拥有您的系统以在文本编辑器中打开 DLL 级别的人都可能已经进入数据库,并且您对连接字符串执行的操作无关紧要。

如果它是桌面应用程序,那么使用 Windows 身份验证的建议可能是最好的。如果这不是一个选项,那么只需确保每个用户都有自己的 username/password 并将其安全地存储在 DLL 之外。

我发现这个我认为可以实现我的目标。确实它适用于 winforms,我的应用程序是一个 DLL。但它应该足够相似才能起作用

How to securely store a connection string in a WinForms application?