IDEA中SpringBoot项目数据库连接加密方法

1. maven添加相应版本的依赖

这里注意,不能使用太新的版本,本人开发环境使用3.0.3版本时,报以下错误,使用2.1.2时报错消失。

java 复制代码
***************************
APPLICATION FAILED TO START
***************************
 
Description:
 
Failed to bind properties under 'spring.datasource.dynamic.datasource.master.password' to java.lang.String:
 
    Reason: org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'spring.datasource.dynamic.datasource.master.password' to java.lang.String
 
Action:
 
Update your application's configuration
Disconnected from the target VM, address: '127.0.0.1:56043', transport: 'socket'

2. 更新maven依赖

更新后,到仓库中找到加密工具jasypt-1.9.3.jar

3. 使用jasypt工具生成密文

vbnet 复制代码
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=待加密字符串 password=盐 algorithm=PBEWithMD5AndDES

4. 修改application-dev.yml文件中待加密的数据源密码

复制代码
ENC(FtvDryJcYcWdFNpfxUs8Sw==)

5. 编辑配置,增加项目启动参数

-Djasypt.encryptor.password=1234

或者 application.yml 文件中增加jasypt的盐配置项:

复制代码
jasypt:
  encryptor:
    password: 1234

6. 启动调试项目

可以看到日志中,数据库连接成功,项目启动成功。

相关推荐
星空的资源小屋23 分钟前
永久删除文件利器:Permadelete
java·javascript·人工智能
2201_7578308725 分钟前
Stream的终结方法
java·服务器·前端
花花鱼28 分钟前
android studio引用三方库的方法,比如SmartRefreshLayout
android·ide·android studio
今天没ID36 分钟前
Java 数组进阶操作
java
卷到起飞的数分36 分钟前
5.MyBatis持久(dao)层框架
java·数据库·mybatis
XUN4J36 分钟前
Java没有指针,那它是怎么干C语言里指针干的活的?
java
d***93543 分钟前
【Spring】Cookie和Session是什么
java·后端·spring
薛定e的猫咪1 小时前
【调试技巧】vscode 四种断点调试,快速定位 bug
ide·vscode·python·bug
蜂蜜黄油呀土豆1 小时前
深入理解 Java Stream:从创建到过滤、归约、分组与聚合(带大量实战代码)
java·实战·stream流·api
一只叫煤球的猫1 小时前
从 JDK1.2 到 JDK21:ThreadLocal的进化解决了什么问题
java·后端·面试