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

Jasypt整合springboot完成对配置文件中有关敏感数据的加密

场景

项目中有很多密码都是以明文的形式存储在配置文件中,这样很不安全。我们可以通过jasypt来完成敏感信息的加密。

步骤

1、pom文件引入依赖。

<dependency>
    <groupId>com.github.ulisesbocchio</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>3.0.4</version>
</dependency>

2、写个测试类获取密文。

        String secret = "haha";
        BasicTextEncryptor basicTextEncryptor = new BasicTextEncryptor();
        basicTextEncryptor.setPassword(secret); //设置密钥
        String s = basicTextEncryptor.encrypt("123456"); //加密
        System.out.println(s);

3、application.yml文件写死密文。

# Spring配置
spring:
  # 数据源配置
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&&serverTimezone=Asia/Shanghai&&useSSL=false
    username: root
    # 此处的密文要用ENC()进行包裹,不然是识别不了的,自然也就无法解密
    password: ENC(fUaD/g4L9TKx8AFhz8A5qQ==)

# 加密配置
jasypt:
  encryptor:
    # 指定密钥
    password: haha
    # 下面这两个参数必须得加,不加的话会报参数绑定异常
    # 指定解密算法,需要和加密时使用的算法一致
    algorithm: PBEWithMD5AndDES
    # 指定initialization vector类型
    iv-generator-classname: org.jasypt.iv.NoIvGenerator

线上环境

如果是线上环境,密钥需作为启动参数加进去,这样更安全。

java -jar -Djasypt.encryptor.password=your-secret
http://www.dtcms.com/a/3413.html

相关文章:

  • 图片变形的问题
  • 宽带电力载波稳定吗?有丢数据吗?
  • Linux | 文件系统
  • OpenAI将推出ChatGPT Plus会员新功能,有用户反馈将支持上传文件和多模态
  • CCF_A 计算机视觉顶会CVPR2024投稿指南以及论文模板
  • Excel表格密码解密软件 - 轻松解锁忘记的Excel密码
  • 干货 | 一文详解华为ITR流程体系:目标、流程、理念
  • leetcode_136 只出现一次的数字
  • 预处理详解(一)
  • Linux开源存储方案系统介绍
  • Ajax学习笔记第三天
  • 来自 APISpace 的API接口推荐,含免费次数
  • GB28181学习(十四)——语音广播与语音对讲
  • Day 5 登录页及路由 (三) 基于axios的API调用
  • node使用fs模块(四)—— 文件夹的使用(创建、读取、删除)
  • vue3的reactive源码解析
  • 堆优化版dijkstra算法
  • Nignx及负载均衡动静分离
  • golang中快速用melody搭建轻量的websocket服务
  • 【计算机网络笔记】传输层——可靠数据传输之流水线机制与滑动窗口协议
  • Linux学习第28天:Platform设备驱动开发(二): 专注与分散
  • 【数据结构】树形结构所有路径复原为链表
  • AR眼镜定制开发-智能眼镜的主板硬件、软件
  • 如何确认目标期刊被SCI或EI收录?
  • vue element el-table-column 循环示例代码
  • 如何将 ruby 打包类似于jdk在另一台相同架构的机器上面开箱即用
  • API商品数据接口调用
  • 【广州华锐互动】飞机诊断AR远程指导系统为工程师提供更多支持
  • 3D数据过滤为2D数据集并渲染
  • LeetCode|动态规划|1035. 不相交的线 、53. 最大子数组和