我的团队目前正在开发的应用程序有一个用于执行所有数据库访问的 DLL。应用程序无法使用受信任的连接,因为数据库位于防火墙后面,而域服务器不在。所以看起来连接字符串需要有一个数据库用户名和密码。DLL 当前具有硬编码的数据库连接字符串,但我不想在我们启动时这样做,因为程序集可以被反汇编,并且用户名和密码就在那里。
其中一项要求是密码需要每隔几个月更改一次,因此我们需要将其推广到我们的内部用户群。
有没有一种方法可以存储加密的密码,以便我们可以轻松地将其分发给整个用户群,而无需将其存储在程序集中?
更新:感谢所有回答的人。我将尝试回答一些问题... ASP.NET WebForms 和 VB.NET WinForms 都使用数据 DLL。我知道应用程序可以有自己的配置文件,但我没有看到任何关于 DLL 的配置文件的内容。不幸的是,我在工作中无法到达 Jon Galloway 的职位,所以我无法判断这是否可行。从开发的角度来看,我们不想在内部使用 Web 服务,但可能会在明年某个时候将它们提供给第三方。我认为模拟不会起作用,因为我们无法通过防火墙对用户进行身份验证。由于用户(或以前的用户)可能成为攻击者,因此我们对所有人保密!