5

我正在开发一个需要访问数据库以读取其输入的 C++ 项目。

到目前为止,我们在基于 xml 的配置文件中使用了默认用户名(postgres)和存储的“固定明文”密码以及许多其他设置。

现在我需要在提供配置文件时对用户隐藏密码。

仅供参考:开发区是linux,数据库是postgresql。我们想给用户配置文件以连接到数据库并在不知道密码的情况下使用它

如果您建议快速简便的参考,我将不胜感激。(小型阅读材料也很棒)

谢谢你

4

3 回答 3

6

如果您以任何形式向他发送包含该密码的程序,则您无法阻止恶意用户以某种方式获得此密码。

但有两种可能的解决方案:

  1. 程序附带的用户和密码对数据库具有只读访问权限;

  2. 该程序不直接连接到数据库。它将数据请求到服务器应用程序,该应用程序不仅可以从实际数据库中获取此数据而无需给用户任何密码,还可以进行适当的安全检查以确保该用户仅访问他打算访问的数据等。

于 2013-04-12T03:38:54.053 回答
4

您可以使用另一个“硬编码”密码,用于加密配置文件中的密码。因此,您将加密的数据库密码 (db_password) 写入配置文件,然后,当您需要访问数据库时,您使用硬编码的密码解密 db_password。当然,仍然可以使用反编译器来恢复您的密码,但这并不容易。

于 2013-04-12T03:36:45.643 回答
-5

我们使用 MD5 对配置文件中的密码进行加密。

于 2013-04-12T03:28:14.267 回答