转:文章
应运维的要求,项目在生产环境中时,配置文件中不应出现明文密码。否则对于运维人员来说是一个极大的挑战。由于使用的druid数据库连接池,它自带对密码的加密功能,以下是使用过程。
使用druid-1.1.6.jar包中的ConfigTools工具类对您的数据库密码进行加密! 命令如下: java -cp druid-1.1.6.jar com.alibaba.druid.filter.config.ConfigTools "你的密码"
当然你也可以自己用Java代码调用ConfigTools类中的函数来生成,如下:
然后它将会返回公匙、私匙、密文。
然后在配置文件中修改相关配置
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="url" value="jdbc:mysql://ip:端口号/数据库名" />
<property name="username" value="用户名" />
<property name="password" value="你的密文" /> <!--修改-->
<property name="filters" value="config,stat" /> <!--新增-->
<property name="connectionProperties" value="config.decrypt=true;config.decrypt.key="你的公匙" /><!--新增,如果你是使用默认密匙对 config.decrypt.key 这个不用写-->
</bean>
ConfigTools类其它方法
说实话总感觉这个方法有点鸡肋。感觉会开发的就会解码。