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

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

相关推荐
码农很忙几秒前
Spring Boot 3.x 整合 Redis 实现高性能缓存的完整指南
java·spring boot·redis
禾小西3 分钟前
Spring AI 流式输出底层原理解析
java·人工智能·spring
丸辣,我代码炸了5 分钟前
如何手搓序列化器(以java为例)
java·开发语言·kafka
快乐柠檬不快乐8 分钟前
基于Java+SpringBoot+SSM攻防靶场实验室平台
java·开发语言·spring boot
爱丽_9 分钟前
Spring Boot 启动链路:自动装配、条件注解与排错方法论
java·spring boot·后端
weixin_4250230012 分钟前
Spring Boot 2.7+JDK8+WebSocket对接阿里云百炼Qwen3.5-Plus 实现流式对话+思考过程实时展示
java·spring boot·websocket·ai编程
快乐柠檬不快乐16 分钟前
IDEA报错内存溢出解决(java.lang.OutOfMemoryError)
java·ide·intellij-idea
.柒宇.22 分钟前
力扣hot 100之和为 K 的子数组(Java版)
java·算法·leetcode
%Leo22 分钟前
macos idea 插件搜索不到
java·intellij-idea
苏渡苇22 分钟前
枚举的高级用法——用枚举实现策略模式和状态机
java·单例模式·策略模式·枚举·状态机·enum