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

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

相关推荐
Java面试题总结13 小时前
java面试题及答案(基础题122道)
java·开发语言·jvm·spring·spring cloud·golang·java-ee
OYangxf13 小时前
vscode在Linux环境下,怎么才能装插件codex以保证不发生token exchange failed
ide·vscode
jacsonchen13 小时前
【MySQL】环境变量配置
java
番茄去哪了13 小时前
黑马点评实战篇千字总结
java·分布式·面向对象编程
pupudawang13 小时前
Java进阶——IO 流
java·开发语言·python
逆境不可逃13 小时前
【从零入门23种设计模式19】行为型之观察者模式
java·开发语言·算法·观察者模式·leetcode·设计模式·动态规划
一只鹿鹿鹿13 小时前
研发中心数据安全管理规定(文件)
java·运维·开发语言·数据库·后端
旺旺仙贝呦13 小时前
Java常用注解
java·开发语言·python
忧郁缭绕13 小时前
Spring Boot Pf4j模块化能力设计思考
java·spring boot·后端
天若有情67313 小时前
C++设计模式:tur函数——让对象自我裁决的条件选择器
java·c++·设计模式