我正在尝试加密我的 J2EE 应用程序中的所有纯文本密钥和密码。我正在尝试找出最好的方法。
我知道 JASYPT 有一个非常好的库和用于加密属性文件的实用程序,但在具有所有数据库用户名和密码的 persistence.xml 的情况下似乎不起作用。
以下是开发堆栈:
- 春季MVC
- 春天
- 弹簧数据 JPA
- 休眠
- MYSQL 和 POSTGRESS 数据库
我正在尝试加密我的 J2EE 应用程序中的所有纯文本密钥和密码。我正在尝试找出最好的方法。
我知道 JASYPT 有一个非常好的库和用于加密属性文件的实用程序,但在具有所有数据库用户名和密码的 persistence.xml 的情况下似乎不起作用。
以下是开发堆栈:
Jasypt 本身对上述问题有很好的解决方案。
通过使用 org.jasypt.properties.EncryptableProperties 对象,应用程序将能够正确读取和使用 .properties 文件,如下所示:
datasource.driver=com.mysql.jdbc.Driver
datasource.url=jdbc:mysql://localhost/reportsdb
datasource.username=reportsUser
datasource.password=ENC(G6N718UuyPE5bHyWKyuLQSm02auQPUtm)
请注意,数据库密码是加密的(事实上,任何其他属性也可以加密,无论是否与数据库配置有关)。
更多信息 :
http://www.jasypt.org/encrypting-configuration.html
http://appfuse.org/display/APF/Database+Encryption+with+Jasypt-Hibernate