在配置hibernate的时候遇见了使用Druid加解密数据库,故留下一文以供下次参看!
1.在ssh框架中进行加密解密的地方分别为:
pom.xml(数据加密)
config.properties(配置解密秘钥)
那么这两个秘钥是怎么生成的呢?
首先我们得下载一个druid-1.0.16.jar的包(下载地址:druid-1.0.16.jar)
其次键入命令 java -cp druid-1.0.16.jar com.alibaba.druid.filter.config.ConfigTools your_password
这时候会生成privatekey,publickey,以及password,相关的截图如下
注意1:如果使用的不是druid-1.0.16.jar可能只会生成一个password。
注意2:如果没配置好,可能会报一大推奇奇怪怪的错误,比如:org.springframework.beans.factory.BeanCreationException: Error creatingbean with name 'shiroFilter':....
配置Druid解密数据库密码
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="url" value="jdbc:derby:memory:spring-test;create=true" />
<property name="username" value="sa" />
<property name="password" value="oKBNxyJcnP7RviMg9npbby2Xd2eyeSNXgK/axgk1yLaHh771r6W0jtpwf6P8301qDwRsM5MdlyGsvADy+9XmbA==" />
<property name="filters" value="config" />
<property name="connectionProperties" value="config.decrypt=true" />
</bean>
配置Druid解密数据库密码的主要新增在于加粗的两行配置。
1、<property name="connectionProperties" value="config.decrypt=true" />
作用:配置ConfigFilter解密密码
2、<property name="filters" value="config" />
作用:提示Druid数据源需要对数据库密码进行解密