加密属性文件和持久性xml

时间:2014-04-29 21:53:15

标签: java hibernate encryption spring-data jasypt

我正在尝试加密J2EE应用程序中的所有纯文本密钥和密码。 我想找出最好的方法。

据我所知,JASYPT有一个非常好的库和实用程序来加密属性文件,但似乎不能用于persistence.xml,它有所有数据库用户名和密码。

以下是开发堆栈:

  1. Spring MVC
  2. 弹簧
  3. Spring DATA JPA
  4. 休眠
  5. MYSQL和POSTGRESS DB

1 个答案:

答案 0 :(得分:2)

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