4

什么是Druid?

  • Druid:Druid不仅是一个数据库连接池,还包含一个ProxyDriver、一系列内置的JDBC组件库、一个SQL Parser。
  • 支持所有JDBC兼容的数据库,包括Oracle、MySql、Derby、Postgresql、SQL Server、H2等。
  • Druid针对Oracle和MySql做了特别优化,比如:
  • Oracle的PS Cache内存占用优化
  • MySql的ping检测优化
  • Druid提供了MySql、Oracle、Postgresql、SQL-92的SQL的完整支持,这是一个手写的高性能SQL Parser,支持Visitor模式,使得分析SQL的抽象语法树很方便。
  • 简单SQL语句用时10微秒以内,复杂SQL用时30微秒。
  • 通过Druid提供的SQL Parser可以在JDBC层拦截SQL做相应处理,比如说分库分表、审计等。Druid防御SQL注入攻击的WallFilter,就是通过Druid的SQL Parser分析语义实现的

使用druid的数据库加密/解密操作

1.pom文件依赖

<dependency>
 <groupId>com.alibaba</groupId>
 <artifactId>druid</artifactId>
 <version>1.1.23</version>
</dependency>

2.在磁盘中找到下载的druid依赖

image

3.在jar包所在目录下打开dos窗口

image

4.在dos窗口输入druid的命令,点击回车执行

java -cp druid-1.1.10.jar com.alibaba.druid.filter.config.ConfigTools yxkj_123456

以上的jar文件要写自己的druid jar包的全名,后面的yxkj_123456,是要生成密钥的密码
image

  • yxkj\_123456为未加密的数据库密码
  • privateKey为生成的私钥
  • publicKey为生成的公钥
  • password为加密后的数据库密码

以上的公钥和密码钥,要特别注意,解密的话是用这两个进行解密

5.打开项目的yml文件,将生成的密码钥替换之前的yml里的数据库密码,添加public-key在datasource下,填写生成的密码公钥,添加druid的配置,标明公钥,解密

image

6.启动项目进行测试,可以看到,数据库已经连接成功。

image


Zeran
32 声望4 粉丝

学而不思则罔,思而不学则殆。