我正在开发一个需要访问数据库以读取其输入的C ++项目。
到目前为止,我们在基于xml的配置文件中使用了默认用户名(postgres)和一个“固定明文”密码以及许多其他设置。
现在我需要的是在提供配置文件时隐藏用户的密码。
仅供参考:开发区域是linux,数据库是postgresql。我们希望为用户提供连接数据库的配置文件,并在不知道密码的情况下使用它
如果您建议快速简单的参考,我将不胜感激。(一个小的阅读材料也会很棒)
谢谢
答案 0 :(得分:6)
如果您以任何形式向他发送包含该密码的程序,您无法阻止恶意用户以这种或那种方式获取此密码。
但有两种可能的解决方案:
程序附带的用户名和密码具有对数据库的只读权限;
程序不直接连接到数据库。它向服务器应用程序请求数据,该服务器应用程序不仅可以从实际数据库中获取此数据而无需向用户提供任何密码,而且还可以进行适当的安全检查以确保此用户仅访问其意图的数据等。
答案 1 :(得分:4)
您可以使用另一个“硬编码”密码,用于加密配置文件中的密码。因此,您将加密数据库密码(db_password)写入配置文件,然后,当您需要访问数据库时,使用硬编码密码解密db_password。 当然,例如,仍然可以使用反编译器恢复密码,但这并不容易。
答案 2 :(得分:-5)
我们使用MD5在配置文件中加密密码。