我正在尝试加密J2EE应用程序中的所有纯文本密钥和密码。 我想找出最好的方法。
据我所知,JASYPT有一个非常好的库和实用程序来加密属性文件,但似乎不能用于persistence.xml,它有所有数据库用户名和密码。
以下是开发堆栈:
答案 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