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. 启动调试项目

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

相关推荐
默默coding的程序猿4 小时前
3.git的分支携带问题是什么?怎么解决?
java·git·python·svn·gitee·github·intellij-idea
望获linux5 小时前
【实时Linux实战系列】Linux 内核的实时组调度(Real-Time Group Scheduling)
java·linux·服务器·前端·数据库·人工智能·深度学习
Never_Satisfied5 小时前
在 JavaScript 中,删除数组中内容为xxx的元素
java·前端·javascript
OK_boom5 小时前
visual studio 打开设计时刻抛出异常“未能加载文件或程序集...”的另一解决方法
ide·visual studio
MC丶科5 小时前
【SpringBoot常见报错与解决方案】端口被占用?Spring Boot 修改端口号的 3 种方法,第 3 种 90% 的人不知道!
java·linux·spring boot
怪兽20145 小时前
Redis常见性能问题和解决方案
java·数据库·redis·面试
zz-zjx5 小时前
JVM 内存结构与 GC 机制详解( 实战优化版)
java·jvm·tomcat
nvvas5 小时前
Android Studio JAVA开发按钮跳转功能
android·java·android studio
小蕾Java6 小时前
【VSCode】Visual Studio Code 2024安装包及安装教程 (附所有版本下载)
ide·vscode·编辑器
CV工程师丁Sir6 小时前
Rokid设备连接全解析:蓝牙与Wi-Fi通信源码深度剖析
java