Sharding-JDBC使用jasypt3.0及以上版本加密数据库连接密码
本文中介绍的是基于Sharding-JDBC 4.0和jasypt 3.0及其以上版本对数据库连接密码进行加密操作
引入依赖
项目的pom.xml中引入maven依赖
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>4.0.0-RC3</version>
</dependency>
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
生成密文
首先通过jasypt-1.9.3.jar生成密文
PS C:\Users\Tuhuadmin\.m2\repository\org\jasypt\jasypt\1.9.3> java -cp .\jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="root" password=fulfillForward algorithm=PBEWithMD5AndDES
命令行下执行该命令,打印如下
----ENVIRONMENT----------------- Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 11.0.2+7-LTS ----ARGUMENTS------------------- input: root
password: fulfillForward
algorithm: PBEWithMD5AndDES ----OUTPUT---------------------- 9v+20XzVBiBBocheB7PWwA==
OUTPUT打印的部分就是加密后的密文。
jasypt需要设置用于加密明文的密钥password,它会对input内容加密。解释下参数:
| 参数 | 说明 |
|
input |
明文密码 |
| password | 加密的盐值 |
| algorithm | 加密策略,对称加密 |
配置文件中设置密文
上一步中获得到了连接数据库的密码密文,打开应用的配置文件application.properties,修改数据库连接密码为如下格式:
spring.shardingsphere.datasource.ds0.password=ENC(9v+20XzVBiBBocheB7PWwA==)
通过 ENC(密文) 的方式,在程序中获取到的spring.shardingsphere.datasource.ds0.password会自动转换成明文内容(root)
同时需在配置文件application.properties中添加加密盐值和加密策略
jasypt.encryptor.password=fulfillForward
jasypt.encryptor.algorithm=PBEWithMD5AndDES
jasypt.encryptor.iv-generator-classname=org.jasypt.iv.NoIvGenerator
到此通过Sharding-JDBC做分库分表,数据库连接密码加密就完成了。
参考连接
https://github.com/ulisesbocchio/jasypt-spring-boot#update-11242019-version-300-release-includes
如有问题可微信咨询,微信号:429532901
Sharding-JDBC使用jasypt3.0及以上版本加密数据库连接密码的更多相关文章
- sharding jdbc(sphere) 3.1.0 spring boot配置
sharding jdbc 2.x系列详解参见https://www.cnblogs.com/zhjh256/p/9221634.html. 最近将sharding jdbc的配置从xml切换到了sp ...
- Sharding JDBC整合SpringBoot 2.x 和 MyBatis Plus 进行分库分表
Sharding JDBC整合SpringBoot 2.x 和 MyBatis Plus 进行分库分表 交易所流水表的单表数据量已经过亿,选用Sharding-JDBC进行分库分表.MyBatis-P ...
- spring boot:配置shardingsphere(sharding jdbc)使用druid数据源(druid 1.1.23 / sharding-jdbc 4.1.1 / mybatis / spring boot 2.3.3)
一,为什么要使用druid数据源? 1,druid的优点 Druid是阿里巴巴开发的号称为监控而生的数据库连接池 它的优点包括: 可以监控数据库访问性能 SQL执行日志 SQL防火墙 但spring ...
- Sharding jdbc 强制路由策略(HintShardingStrategy)使用记录
背景 随着项目运行时间逐渐增加,数据库中的数据也越来越多,虽然加索引,优化查询,但是数据量太大,还是会影响查询效率,也给数据库增加了负载. 再加上冷数据基本不使用的场景,决定采用分表来处理数据,从而来 ...
- Spring boot项目集成Sharding Jdbc
环境 jdk:1.8 framework: spring boot, sharding jdbc database: MySQL 搭建步骤 在pom 中加入sharding 依赖 <depend ...
- 浅谈sharding jdbc
定位为轻量级Java框架,在Java的JDBC层提供的额外服务. 它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架. ...
- 记录因Sharding Jdbc批量操作引发的一次fullGC
周五晚上告警群突然收到了一条告警消息,点开一看,应用 fullGC 了. 于是赶紧联系运维下载堆内存快照,进行分析. 内存分析 使用 MemoryAnalyzer 打开堆文件 mat 下载地址:htt ...
- 微信小程序0.11.122100版本新功能解析
微信小程序0.11.122100版本新功能解析 新版本就不再吐槽了,整的自己跟个愤青似的.人老了,喷不动了,把机会留给年轻人吧.下午随着新版本开放,微信居然破天荒的开放了开发者论坛.我很是担心官方 ...
- 完美解决AutoCAD2012,AutoCAD2013本身电脑里有NET4.0或以上版本却装不上的问题
适用情况:电脑里本身有NET4.0或4.5版本,并且正确安装.或本身你就装有AutoCAD2013或AutoCAD2012要装AutoCAD2012或AutoCAD2013却装不上的情况 如图1所示. ...
随机推荐
- ABBYY FineReader 与资源管理器的集成使用
ABBYY FineReader 15(Windows系统)与 Windows 资源管理器的集成使用后,在不打开软件的情况下,可通过右击启动快捷菜单开启. 通过与Windows资源管理器的集成,用户可 ...
- 鸿蒙OS的系统调用是如何实现的? | 解读鸿蒙源码
本文将首先带您回顾"系统调用"的概念以及它的作用,然后从经典的Hello World开始,逐行代码层层分析--鸿蒙OS的系统调用是如何实现的. 写在前面 9月10号 华为开发者大会 ...
- 利用css3和js实现旋转木马图片小demo
先看效果图: 上源码 html代码 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...
- windows安装redis扩展
Thread Safety enabled 打开phpinfo() 看php版本是ts还是nts, 如上是ts版本的,所以需要安装redis的ts版本, redis的扩展下载地址 https://p ...
- java8的lambda表达式
关于java8的lambda表达式 lambda表达式一般用于接口,因为lambda表达式是函数式编程. 1.有且仅有一个抽象方法被称为函数式接口,函数式接口可以显示的被@FunctionalInte ...
- yii2.0上传图片
model: 1 use Yii; 2 public $imageUpload; 3 public function rules() 4 { 5 return [ 6 [['imageUpload'] ...
- 怎么用Iometer测试存储性能
1.Disk Targets选项栏中选择要测试的磁盘,1 per target of Outstanding I/Os 保持默认即可. 2.在Access Specifications栏中新建测试条件 ...
- How tomcat works(深入剖析tomcat)生命周期Lifecycle
How Tomcat Works (6)生命周期Lifecycle 总体概述 这一章讲的是tomcat的组件之一,LifeCycle组件,通过这个组件可以统一管理其他组件,可以达到统一启动/关闭组件的 ...
- 超稳攻略!Rancher 2.3手动轮换证书,保护集群安全!
本文转自Rancher Labs 前 言 Rancher 2.3正式发布已经一年,第一批使用Rancher 2.3的用户可能会遇到Rancher Server证书过期,但是没有自动轮换的情况.这会导致 ...
- Error:Execution failed for task ':app:mergeDebugResources'. > Error: Some file crunching failed, see logs for details
android studio中的资源文件命名是不能带有数字的,因为会与R类的资源ID起冲突,所以编译就发生了错误.