什么是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依赖

3.在jar包所在目录下关上dos窗口

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

  • yxkj_123456为未加密的数据库明码
  • privateKey为生成的私钥
  • publicKey为生成的公钥
  • password为加密后的数据库明码

以上的公钥和明码钥,要特地留神,解密的话是用这两个进行解密

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

6.启动我的项目进行测试,能够看到,数据库曾经连贯胜利。