在vb6应用程序中加密mysql密码

时间:2013-09-16 21:08:05

标签: mysql vb6 passwords

我有一个连接MySQL DB的VB6应用程序。用户名和密码在源代码中。问题是当我在十六进制编辑器中打开.exe文件时,用户名和密码都是可见的。

您能否建议一个解决方案,以便用户名和密码不再可见? 感谢

2 个答案:

答案 0 :(得分:2)

只要这些凭据在您的应用程序中,具有一点知识的人就可以找到并阅读它们。

如果您加密该信息,则需要在某些时候对其进行解密。所以你要么在应用程序中需要解密密钥 - 所以人们也可以阅读它,使整个事情变得没有意义 - 或者你将解密服务器端 - 在这种情况下,其他任何人都可以发送加密的凭证。

所以这里有一个提示:不要将应用程序的安全性建立在代码中隐藏一些秘密。你将只是通过一个有趣的挑战来呈现脚本小子。

答案 1 :(得分:1)

你真的需要一个中间层。

在任何可行的情况下,您都希望避免与客户端共享数据库凭据。理想情况下,您甚至不希望防火墙允许来自外部的数据库连接。

客户端/服务器DBMS连接协议不适合在Internet上使用。

这些都是为什么“网络服务”概念出现的原因,甚至在创造这个短语之前就被使用了。

当然,这仍然需要客户端的凭据。我通过在外部存储它们来处理它,以便它们可以更新。您可能还希望在程序中使用两个解密阶段,以便可以将进程分开,从而使反编译/反汇编代码的反向工程变得更加困难。在初始化早期做一个阶段,在另一个阶段做一个阶段,或者在建立连接之前做第二阶段。