如何加密tomee中的数据源密码或数据源

时间:2013-08-06 09:50:06

标签: java data-structures tomee

我想以加密格式存储密码,因此其他用户无法读取。我的tomee.xml文件包含

<Resource id="jdbc/myrootdb" type="DataSource">
         JdbcDriver com.mysql.jdbc.Driver    
         JdbcUrl jdbc:mysql://localhost:3306/test
         UserName root
         Password root    
         JtaManaged false   
          InitialSize 50 
         MaxActive 10
         MaxIdle 3 
</Resource>

我正在使用apache-tomee-jaxrs-1.5.2。

2 个答案:

答案 0 :(得分:2)

Tomcat中的<Resource>有一个名为factory的属性。在这里指定数据源工厂。对于加密密码,您需要一个自定义数据源工厂来读取加密密码。这就是你需要的东西

  1. 密码的加密/解密算法。
  2. 自定义数据源工厂
  3. 有关详细信息,请查看此very detailed step by step example以获得相同的信息。

答案 1 :(得分:1)

  1. 下载OpenEJB的独立版本
  2. 转到<OpenEJB install path>/bin并执行命令
    openejb cipher root
  3. 将生成的加密密码复制到数据源资源定义
  4. 将属性DataSourceCreator添加到数据源资源定义中:
    DataSourceCreator dbcp
  5. 将属性PasswordCipher添加到数据源资源定义中:
    PasswordCipher Static3DES
  6. 有关更多信息,请参阅: http://openejb.apache.org/datasource-password-encryption.html