c++ - 如何在配置文件中隐藏数据库密码

标签 c++ database passwords configuration-files

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

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

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

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

如果您能提供一份快速简便的引用资料,我将不胜感激。(一份小的阅读 Material 也很好)

谢谢

最佳答案

如果您以任何形式向恶意用户发送包含该密码的程序,您将无法阻止其以任何方式获取该密码。

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

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

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

关于c++ - 如何在配置文件中隐藏数据库密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15962527/

相关文章:

c++ - 在这种情况下,Hinnant 的 unique_ptr 实现是否错误地无法将派生转换为基础?

c++ - 在 C++ 中设置列​​表

java - JPA获取select中的上一条和下一条记录

encryption - 将初始化向量和盐与密文一起传递是否不安全?

angularjs - 确认密码验证 AngularJS Material Design

c++ - 用于时区规则的 Linux/跨平台 API? (替换锁定 localtime_r)

c++ - 迭代 boost::icl::interval_set

java - 对一段时间内的每一天做一个查询,把它变成一个查询

mysql - 父子表MySQL

svn - 用于更改 JIRA/SVN 服务器的 Ldap 密码的应用程序