寻找有关如何在客户端计算机上存储加密数据库密码的新想法
我所在的项目团队正在维护一些遗留的 VB6 应用程序。这些应用程序安装在全球 600 多个客户中,其中大部分位于美国。这些应用程序都连接到数据库后端,但问题是 SQL 登录 ID 和密码是硬编码在应用程序内部的。在这些项目中,我们使用 ODBC API 连接到数据库。
我们想要做的是为用户提供一种设置自己的 SQL 登录 ID 密码的方法。我们曾考虑过使用 Active Directory 身份验证,但我们放弃了这个想法,因为用户可以使用 MS Access/Excel 或 Crystal Reports 连接到数据库。
我们目前正在研究将加密的登录 ID 存储在 INI 文件或注册表中的想法,但我们根本不喜欢这些解决方案。我们正在考虑使用证书,但我认为我们将遇到与 AD 身份验证相同的问题。
因此,请让我们听听您的想法,无论它们有多么奇怪和古怪。
I am on project team that is maintaining a few legacy VB6 applications. These applications are installed in over 600 customers worldwide mostly in the USA. These applications all connect to a database back end but the problem is that the SQL Login ID and password are hard coded inside of the application. With these projects we are using ODBC API to connect to the database.
What we would like to do is to provide a way for the users to set their own SQL Login ID password. We have thought of using Active Directory Authentication but we have dismissed this idea due to the fact that a user would be able to connect to the database using MS Access/Excel or Crystal Reports.
We are currently working on an idea where we would store the encrypted Login ID in either a INI file or in the registry but we are not liking these solutions at all. We are looking into using a Certificate but I think that we will have the same issue as with AD Authentication.
So please lets hear your ideas not matter how strange and outlandish they may be.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为什么不将用户名和密码存储在 ini 文件中。使用带有加盐功能的对称密钥加密(如 AES),然后对结果进行 Base-64 编码。您可以从 Random.org 生成真正的随机密钥。如果您选择这条路线,我可以提供一些帮助。
Why not store the user name and password in an ini file. Use a symmetrical key encryption (like AES) with salting and then base-64 encode the results. You can generate a true random key from Random.org. If you choose this route, I can provide some assistance.