C ++与DB的安全连接

时间:2013-02-16 13:55:31

标签: c++ database c reverse-engineering

我一直都有这个问题,希望你们其中一个人能够知道答案。

我通过互联网/新闻听说像C ++这样的软件编码是可逆的,据我所知,其他人可以从已编译的.exe中找到你的源代码。

那么如何保护数据库连接呢?我的意思是,如何将数据库信息及其每个mysql查询保密。

mysql_real_connect(conn, "localhost", "user", "passwd", NULL, 0, NULL, 0)

例如,在上面的代码中,如果保留代码并且用户能够访问源代码,您如何保证信息用户和密码的安全?

谢谢,

编辑:同样适用于C或任何软件开发代码。

1 个答案:

答案 0 :(得分:2)

第一件事是:您不应将带有硬编码用户名和密码的二进制文件传递给用户,而是允许用户将这些用户名和密码输入到某种形式的配置中。如果他们应该与您的系统通信,您应该为每个用户配置一个用户帐户。

将密码存储在配置文件中时,您可以将其加密存储(这也可以在硬编码时完成,但这是一种不好的做法)并在需要时解密。当然,恶意用户可以尝试识别加密算法和密码,防止这种情况只能通过根本不存储或使用基于硬件的vrypto系统(可能是加密狗)来实现。

最后,问题是:你想要做多难?有(特别是物理)访问和足够“需要”的人总能找到方法。