当前位置: 首页 > news >正文

Spring Boot (v3.2.12) + application.yml + jasypt 数据源加密连接设置实例

1、安装 jasypt 依赖

    <!-- Jasypt 加密依赖 --><dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.5</version></dependency>

2、生成密文

打开 jasypt-1.9.3.jar 所在目录

使用命令行

java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="Sinmia123" password=WYLIMS_MASTER_KEY algorithm=PBEWithMD5AndDES

生成数据库连接密码密文

3、设置系统环境变量(windows)

新建或编辑系统变量:数据库连接的密码(密文)

新建或编辑系统变量:数据库连接的用户名

新建或编辑系统变量:数据库驱动类名称

新建或编辑系统变量:数据库连接的url

新建或编辑系统变量:jasypt 加密密钥

4、配置文件 application.yml 设置数据源连接信息

配置 jasypt

配置数据源 spring.datasource

spring:datasource:# driver-class-name: 数据库驱动类名称# url: 数据库连接的url# username: 数据库连接的用户名# password: 数据库连接的密码#    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver# 从系统变量中获取driver-class-name: ${DB_DRIVER}
#    url: jdbc:sqlserver://127.0.0.1:1433;databaseName=wylims# 从系统变量中获取url: ${DB_URL}# 从系统变量中获取username: ${DB_USERNAME}# 先通过 ${DB_PASSWORD} 从系统变量中获取数据库登录密码密文,再通过 ENC 解密(使用 jasypt 的加密密钥和加密算法进行解密)password: ENC(${DB_PASSWORD})# 配置 jasypt
# 生成密文,bash: java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="Sinmia123" password=WYLIMS_MASTER_KEY algorithm=PBEWithMD5AndDES
# 解密密文,bash: java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input="YSpoz9PyDjn2eimXDB0Z1Rf2Vo3hehp1" password=WYLIMS_MASTER_KEY algorithm=PBEWithMD5AndDES
jasypt:encryptor:# 加密密钥password: ${JASYPT_ENCRYPTOR_PASSWORD}# 加密算法,经测试验证在配置文件 application.yml 中支持 PBEWithMD5AndDES,不支持 PBEWithMD5AndTripleDES、PBEWITHHMACSHA512ANDAES_256algorithm: PBEWithMD5AndDES# PBEWithMD5AndDES 不需要 iv,必须设置 iv-generator-classname: org.jasypt.iv.NoIvGeneratoriv-generator-classname: org.jasypt.iv.NoIvGenerator
#    key-obtention-iterations: 1000
#    pool-size: 1
#    salt-generator-classname: org.jasypt.salt.RandomSaltGenerator
#    string-output-type: base64
#    # 加密识别属性,用于识别加密的内容,如 ENC(content),括号包裹的内容 content 是密文,会进行解密处理
#    property:
#      # 前缀:默认 ENC(
#      prefix: "ENC("
#      # 后缀:默认 )
#      suffix: ")"

参考资料

JASYPT: Java Simplified Encryption 1.9.3-SNAPSHOT API

http://www.dtcms.com/a/328947.html

相关文章:

  • 25个自动化办公脚本合集(覆盖人工智能、数据处理、文档管理、图片处理、文件操作等)
  • 【电气】NPN与PNP
  • [C语言]第二章-从Hello World到头文件
  • 四分位数与箱线图
  • Redis持久化机制详解:RDB与AOF的全面对比与实践指南
  • 动静态库
  • FPGA的PS基础1
  • 【FPGA】初始Verilog HDL
  • c++编程题-笔记
  • kali linux 2025.2安装Matlab的详细教程
  • 通过限制网络访问来降低服务器被攻击风险的方法
  • 服务器如何应对SYN Flood攻击?
  • FluxApi - 使用Spring进行调用Flux接口
  • Gradle(三)创建一个 SpringBoot 项目
  • 深度学习(3):全连接神经网络构建
  • mysql的快照读与当前读的区别
  • 11G RAC数据文件创建到本地如何处理
  • 【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day3
  • 《算法导论》第 22 章 - 基本的图算法
  • [AXI5]AXI协议中的Scalar atomic和Vector atomic有什么区别?
  • 【算法】位运算经典例题
  • BM25:概率检索框架下的经典相关性评分算法
  • ADB 无线调试连接(Windows + WSL 环境)
  • 如何在VS里使用MySQL提供的mysql Connector/C++的debug版本
  • C++ 优选算法 力扣 209.长度最小的子数组 滑动窗口 (同向双指针)优化 每日一题 详细题解
  • Java Spring框架最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
  • graphql接口快速使用postman添加接口以及输入返回参数
  • 超越相似名称:Elasticsearch semantic text 如何在简洁、高效、集成方面超越 OpenSearch semantic 字段
  • 5.语句几个分类
  • 自建知识库,向量数据库 体系建设(四)之文本向量与相似度计算——仙盟创梦IDE