我正在开发一个Java Play应用程序,我将数据库密码以纯文本形式存储在application.conf文件中。
db.default.url="jdbc:oracle:thin:@HOST:PORT/SID"
db.default.user=USER
db.default.pass=PW
现在我想将其存储为加密密码。
在寻找解决方案时,我看到很多关于实现插件的技巧。以下是我遇到的解决方案。
Encrypting db password in application.conf
在该示例中,使用了play.PlayPlugin但是当我尝试它时,我得到一个包找不到错误。我是否需要插入外部jar文件,或者是因为版本问题。我正在使用Java play 1.2
除了插件之外,还有其他方法可以以加密格式存储密码。
答案 0 :(得分:3)
您不需要加密自己系统内的任何内容。只需确保您的服务器是安全的。
由于您需要让您的应用程序访问密码,因此无论如何,有权访问您系统的攻击者都可以获取您的密码。
但永远不会将您的密码检查为git(或颠覆或其他)!
相反,你应该做的是:
将此行添加到application.conf
:
include "secure.conf"
在secure.conf
- 文件夹中创建conf
。并将所有凭据保存在此文件中。
secure.conf
添加到您的.gitignore
,因此不会进入您的Git。secure.conf
- 文件。答案 1 :(得分:-1)
除了插件之外,还有其他方法可以以加密格式存储密码。
您可以创建自己的加密和解密密码的公式。例如,您可以将密码存储在字符数组中,将字符转换为字节,对这些字节执行某些操作并将其保存到文件中。对于解密,你只需要向后做所有这些事情。