什么是 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. 启动我的项目进行测试,能够看到,数据库曾经连贯胜利。