springMVC项目druid数据库连接,密码加密配置

本文介绍了如何在项目中使用Druidjar包对数据库连接密码进行加密,详细步骤包括执行Java脚本生成加密密钥,修改DruidDataSource配置文件以使用加密和解密功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了解决项目中明文密码安全问题,我们可以将数据库连接密码进行加密配置。

找到项目中使用的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文件中,如下:

打开项目数据源配置文件,配置filtersconnectionProperties ,加入如下配置:
		<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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值