Java Play加密数据库密码

我正在开发一个Java Play应用程序,我将数据库密码以纯文本forms存储在application.conf文件中。

db.default.url="jdbc:oracle:thin:@HOST:PORT/SID" db.default.user=USER db.default.pass=PW 

现在我想将其存储为加密密码。

在寻找解决方案时,我看到许多关于实现插件的技巧。 以下是我遇到的解决方案。

在application.conf中加密db密码

在那个例子中,使用了play.PlayPlugin但是当我尝试它时,我得到一个包找不到错误。 我是否需要插入外部jar文件,或者是因为版本问题。 我正在使用Java play 1.2

有没有其他方法来存储除插件以外的加密格式的密码。

您不应该加密自己系统内的任何内容。 只需确保您的服务器是安全的。

由于您需要让您的应用程序访问密码,因此无论如何,有权访问您系统的攻击者都可以获取您的密码。

永远不要将你的密码检查为git(或颠覆或其他)!

相反,你应该做的是:

  1. 将此行添加到您的application.conf

     include "secure.conf" 
  2. conf -folder中创建secure.conf 。并将所有凭据保存在此文件中。

  3. secure.conf添加到您的.gitignore ,因此它不会进入您的Git。
  4. 手动添加和更新服务器上的secure.conf文件。

有没有其他方法来存储除插件以外的加密格式的密码。

那么你可以创建自己的加密和解密密码的公式。 例如,您可以将密码存储在字符数组中,将字符转换为字节,对这些字节执行某些操作并将其保存到文件中。 对于解密,你只需要向后做所有这些事情。