我正在创建独立的应用程序(基于 Swing 的 GUI)。它就像密码持有者(例如用户指定站点的登录名/密码)
它连接到远程 psql 数据库。与数据库的连接存储在 db.properties 文件中。
我想要什么:
- 我如何“隐藏”将取消归档我的 .jar 包的用户的数据库连接?(在最坏的情况下,至少是连接用户的密码)
- 有什么方法可以防止反编译/调试文件?
我正在创建独立的应用程序(基于 Swing 的 GUI)。它就像密码持有者(例如用户指定站点的登录名/密码)
它连接到远程 psql 数据库。与数据库的连接存储在 db.properties 文件中。
我想要什么:
我建议将数据库凭据存储在环境变量中,并在值中读取源代码。
这避免了将凭据存储在源代码控制或二进制文件中,但允许您轻松配置/更改您的秘密。
这已成为“12 要素应用程序”中包含的最佳实践,并模拟了 Heroku 和其他托管服务管理应用程序级别配置的方式。