springMVC项目druid数据库连接,密码加密配置
springMVC项目druid数据库连接,密码加密配置。
·
为了解决项目中明文密码安全问题,我们可以将数据库连接密码进行加密配置。
找到项目中使用的druid jar包, 以druid-1.0.21.jar为例,将该jar包放到指定目录下(如D:\app\pass),打开cmd窗口,打开到jar包所在目录,执行如下命令:
java -cp druid-1.0.21.jar com.alibaba.druid.filter.config.ConfigTools 123123 > pwd.txt
执行成功后加密后的密码和密钥会写入同目录pwd.txt文件中,如下:
打开项目数据源配置文件,配置filters和connectionProperties ,加入如下配置:
<property name="filters" value="${filters}" />
<property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${publicKey}" />
加密配置前:
#全局配置
usr=dbname
pwd=123123
#DruidDataSource cfg
filters:stat
加密配置后:
#全局配置
usr=dbname
pwd=Ma/m8CgnyRtqIXsruLe2lGdg+qF7Tu6o7vqTdUzOl33/3nKwAYKTtPl5DCVPOChNfiN4UwzfpO0Sf+Gm3Ztvhg==
publicKey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJLfY/edkeWgQ2fdsQXz2OzZ14HTyRcFrEbxv4pdCCq59y1PjTVk0/F+HBte0fI2qqlK0XpJj8emuxHIpHrC85kCAwEAAQ==
#DruidDataSource cfg
filters:config
<!-- 数据源 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
<property name="url" value="${url}" />
<property name="username" value="${usr}" />
<property name="password" value="${pwd}" />
<property name="driverClassName" value="${driverClassName}" />
## 重点配置 -- 以下 过滤器配置:已经全局配置使用 filters:config,stat
<property name="filters" value="${filters}" />
<property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${publicKey}" />
## 重点配置 -- 以上
<property name="maxActive" value="${maxActive}" />
<property name="initialSize" value="${initialSize}" />
<property name="maxWait" value="${maxWait}" />
<property name="minIdle" value="${minIdle}" />
<property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}" />
<property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}" />
<property name="validationQuery" value="${validationQuery}" />
<property name="testWhileIdle" value="${testWhileIdle}" />
<property name="testOnBorrow" value="${testOnBorrow}" />
<property name="testOnReturn" value="${testOnReturn}" />
<!-- <property name="maxPoolPreparedStatementPerConnectionSize" value="${maxPoolPreparedStatementPerConnectionSize}" /> -->
</bean>
至此,druid 数据库连接密码加密配置完成,希望对你有所帮助。
更多推荐
已为社区贡献1条内容
所有评论(0)