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

SpringBoot+jasypt-spring-boot-starter实现配置文件明文加密

1.使用环境

springboot:2.1.4.RELEASE
JDK:8
jasypt-spring-boot-starter:3.0.2

2.引入依赖

!-- 配置文件加密 -->
<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.2</version>
</dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.0.1</version>
</dependency>
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version>
</dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
</dependency>

3.application.properties配置

server.port=8080### mybatis
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.xx.xx  ### xxl-job, datasource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxx?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=ENC(jGfd15IFYKMjMW5bUYp06BQ8OCdHTXi3zbD4j9tw6U3PPvvA5GS8zn10kgVmgxXY)
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver#加密盐值,获取加密后的值后删除,在vmOptions配置(如下图)
jasypt.encryptor.password=123adf

加密后,可删除jasypt.encryptor.password配置;发版时可在命令行中配置
在这里插入图片描述

4.明文加密

@SpringBootTest
@RunWith(SpringRunner.class)
public class D2ApplicationTests {@Resourceprivate StringEncryptor jasyptStringEncryptor;@Testpublic void contextLoads() {String pwd =  jasyptStringEncryptor.encrypt("root");System.out.println("pwd:" + pwd);}}

5.所遇问题

org.jasypt.exceptions.EncryptionOperationNotPossibleException:
Encryption raised an exception.
A possible cause is you are using strong encryption algorithms and you have not 
installed the Java Cryptography Extension (JCE) Unlimited Strength 
Jurisdiction Policy Files in this Java Virtual Machine

解决方案:java密码扩展无限制权限策略文件安装–jce_policy安装
文件下载地址:
下面为下载链接

JDK 1.7–jce安装地址:JDK1.7 -jce地址

JDK 1.8–jce安装地址:JDK 1.8–jce安装地址

相关文件来自于博客:https://www.cnblogs.com/zgngg/p/13859299.html) 感谢博主:疯狂的⑨酱 的无私奉献

jar配置路径:
JDK:将两个jar文件放到%JDK_HOME%\jre\lib\security下
JRE:将两个jar文件放到%JRE_HOME%\lib\security下

相关文章:

SpringBoot+jasypt-spring-boot-starter实现配置文件明文加密

1.使用环境 springboot:2.1.4.RELEASE JDK:8 jasypt-spring-boot-starter:3.0.2 2.引入依赖 !-- 配置文件加密 --> <dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><ver…...

k8s核心概念

一、集群架构与组件 1&#xff0c;相关组件 【1】 master node三个组件 k8s的控制节点&#xff0c;对集群进行调度管理&#xff0c;接受集群外用户去集群操作请求master node 组成&#xff08;四个组件&#xff09;&#xff1a;控制面 API Server&#xff1a;通信kube-Sche…...

opencv 处理的视频 保存为新视频 ,新视频 无法读取

问题描述&#xff1a; 如题 问题原因&#xff1a; 其实就是保存的帧如果处理成灰度图&#xff08;单通道&#xff09;的话&#xff0c;保存为新视频&#xff0c;则新视频读取不了 解决办法&#xff1a; 处理成三通道&#xff0c;保存的新视频即可被读取 代码&#xff1a; Vi…...

《golang设计模式》第一部分·创建型模式-02-原型模式(Prototype)

文章目录 1. 概念1.1 简述1.2 角色1.3 类图 2. 代码示例2.1 设计2.2 代码2.3 类图 1. 概念 1.1 简述 用原型实例指定创建对象的种类&#xff0c;并且通过拷贝这些原型创建新的对象 1.2 角色 Prototype&#xff08;抽象原型类&#xff09;&#xff1a;它是声明克隆方法的接口…...

SpringCloudAlibaba微服务实战系列(一)Nacos服务注册发现

SpringCloudAlibaba微服务实战系列&#xff08;一&#xff09;Nacos服务注册发现 实战前先做一个背景了解。 单体架构、SOA和微服务 单体架构&#xff1a;近几年技术的飞速发展&#xff0c;各种各样的服务已经进入到网络化。单体架构发布时只需要打成一个war或jar包发布即可&a…...

23.7.27 牛客暑期多校4部分题解

1010 - Kong Ming Qi 1005 - Data Generation 题意、思路待补 code #include <bits/stdc.h> using namespace std; const long long MOD 998244353; int t; long long n, m; long long sub(long long a, long long b) {return a - b < 0 ? a - b MOD : a - b;}…...

Ubuntu 20.04 安装教程

最近貌似很多同学都在下载 ubuntu 虚拟机&#xff0c;但网上很多的安装教程不是很全&#xff0c;所以今天重新更新一下这篇博文&#xff08;更新日期&#xff1a;2022.12.3&#xff09;&#xff0c;希望能帮到大家。除此之外&#xff0c;安装过程确实比较繁琐&#xff0c;可能会…...

如何评判算法好坏?复杂度深度解析

如何评判算法好坏&#xff1f;复杂度深度解析 1. 算法效率1.1 如何衡量一个算法好坏1.2 算法的复杂度 2 时间复杂度2.1 时间复杂度的概念2.1.1 实例 2.2 大O的渐进表示法2.3 常见时间复杂度计算举例 3 空间复杂度4 常见复杂度对比5 结尾 1. 算法效率 1.1 如何衡量一个算法好坏 …...

【HashMap】2352. 相等行列对

2352. 相等行列对 解题思路 使用哈希容器遍历grid数组 将每一行的字符全部转换为StringBuilde对象 然后存入map中遍历每一列 将其转换为字符串 然后查找Map中是否存在 如果存在 统计 class Solution {public int equalPairs(int[][] grid) {// 哈希容器Map<String,Intege…...

如何声明静态方法 和 实现?

如何声明静态方法 和 实现&#xff1f;在 C 中&#xff0c;声明和实现静态方法&#xff08;静态成员函数&#xff09;与普通成员函数有一些区别。静态方法属于类本身&#xff0c;而不是类的对象&#xff0c;因此在声明和实现时需要特殊的语法。 声明静态方法&#xff1a; 在类…...

哈工大计算机网络课程局域网详解之:无线局域网

哈工大计算机网络课程局域网详解之&#xff1a;无线局域网 文章目录 哈工大计算机网络课程局域网详解之&#xff1a;无线局域网IEEE 802.11无线局域网802.11体系结构802.11&#xff1a;信道与AP关联 本节介绍一下平时经常使用的一个无线局域网技术&#xff0c;也就是通常我们使…...

系统集成|第六章(笔记)

目录 第六章、整体管理6.1 项目整体管理概述6.2 主要过程6.2.1 制订项目章程6.2.2 制订项目管理计划6.2.3 指导与管理项目工作6.2.4 监控项目工作6.2.5 实施整体变更控制6.2.6 结束项目或阶段 上篇&#xff1a;第五章、立项管理 第六章、整体管理 6.1 项目整体管理概述 概述&a…...

MySQL主从复制环境部署

文章目录 MySQL主从复制什么是主从复制&#xff1a;为什么需要主从复制&#xff1a;配置文件修改-主&#xff1a;时间同步&#xff1a;重启服务-主&#xff1a;创建同步用户&#xff1a;查看主上的二进制文件名及位置&#xff1a;配置-从&#xff1a;测试:注&#xff1a; MySQL…...

day42-servlet下拉查询/单例模式

0目录 1.Servlet实现下拉查询&#xff08;两表&#xff09; 2.单例模式 1.实战 1.1 创建工程&#xff0c;准备环境... 1.2 接口 1.3 重写方法 1.4 servlet 1.5 list.jsp list.jsp详解 2.单例模式 2.1 饿汉模式&#xff1a;在程序加载时直接创建对象&#…...

docker中设置容器健康检查

文章目录 一、docker-compose方式二、Dockerfile方式三、docker run方式四、查看检查日志 一、docker-compose方式 在docker-compose中加入healthcheck healthcheck 支持下列选项&#xff1a; test&#xff1a;健康检查命令&#xff0c;例如 ["CMD", "curl&quo…...

azure-cognitiveservices-speech api error while using with AWS Lambda

Azure 语音评估服务 Cancellation Reason 初始化平台失败 1.在mac上安装 pip install azure-cognitiveservices-speech1.30.0正常运行没有问题&#xff0c;服务部署到docker 容器中后调用Azure语音评估服务报错 Cancellation Reason 初始化平台失败 2.解决方案&#xff0c;变…...

系统集成项目管理工程师挣值分析笔记大全

系统集成项目管理工程师挣值分析笔记大全 挣值分析是一种项目管理技术&#xff0c;用于量化和监控项目绩效。它通过比较计划值&#xff08;PV&#xff09;、实际成本&#xff08;AC&#xff09;和挣值&#xff08;EV&#xff09;三个参数来评估项目的进展情况和成本绩效。 挣值…...

TCP 协议【传输层协议】

文章目录 1. 简介1.1 TCP 协议是什么1.2 TCP 协议的作用1.3 什么是“面向连接” 2. 简述 TCP2.1 封装和解包2.2 TCP 报文格式2.3 什么是“面向字节流”2.4 通过 ACK 机制实现一定可靠性 3. 详述 TCP3.1 基本认识TCP 报头格式16 位源/目标端口号32 位序列号*32 位确认应答号4 位…...

Golang 中的 time 包详解(二):time.Duration

在日常开发过程中&#xff0c;会频繁遇到对时间进行操作的场景&#xff0c;使用 Golang 中的 time 包可以很方便地实现对时间的相关操作。接下来的几篇文章会详细讲解 time 包&#xff0c;本文讲解一下 time 包中的 time.Duration 类型。 time.Duration time.Duration 类型是…...

Linux 学习记录58(ARM篇)

Linux 学习记录58(ARM篇) 本文目录 Linux 学习记录58(ARM篇)一、GIC相关寄存器1. 系统框图2. 中断号对应关系 二、GICD寄存器1. GICD_CTLR2. GICD_ISENABLERx3. GICD_IPRIORITYRx4. GICD_ITARGETSRx5. GICD_ICPENDRx 三、GICC寄存器1. GICC_PMR2. GICC_CTLR3. GICC_IAR4. GICC_…...

Qwen3-TTS开源模型教程:Gradio接口封装+API服务发布完整指南

Qwen3-TTS开源模型教程&#xff1a;Gradio接口封装API服务发布完整指南 1. 前言&#xff1a;为什么你需要一个专属的语音合成服务&#xff1f; 想象一下&#xff0c;你正在开发一个智能客服应用&#xff0c;需要为不同国家的用户提供多语言的语音回复&#xff1b;或者你是一个…...

如何轻松实现单机游戏分屏多人:Nucleus Co-Op完整指南

如何轻松实现单机游戏分屏多人&#xff1a;Nucleus Co-Op完整指南 【免费下载链接】nucleuscoop Starts multiple instances of a game for split-screen multiplayer gaming! 项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop 还在为找不到联机伙伴而烦恼吗&a…...

3步安装ViGEMBus虚拟手柄驱动:让Windows游戏体验全面升级

3步安装ViGEMBus虚拟手柄驱动&#xff1a;让Windows游戏体验全面升级 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 想要在Windows系统上使用任何手柄玩游戏…...

千问3.5-2B集成IDEA开发环境:Java大模型应用快速构建指南

千问3.5-2B集成IDEA开发环境&#xff1a;Java大模型应用快速构建指南 1. 为什么要在IDEA中集成大模型&#xff1f; 作为Java开发者&#xff0c;我们经常需要在项目中处理各种文本处理任务。传统方式要么需要调用外部API&#xff08;有网络延迟和费用问题&#xff09;&#xf…...

python复习--进程相关--is_alive()

一、Process.is_alive() is_alive() 是 multiprocessing.Process 提供的方法&#xff0c;用于 判断进程当前是否仍在运行。 process.is_alive()返回值&#xff1a; True → 进程正在运行False → 进程未启动 或 已经结束 二、进程生命周期与 is_alive() 一个 Process 对象…...

Pixel Language Portal效果展示:多轮对话上下文跨语种一致性保持

Pixel Language Portal效果展示&#xff1a;多轮对话上下文跨语种一致性保持 1. 产品概览 **像素语言跨维传送门(Pixel Language Portal)**是一款突破性的多语言交互工具&#xff0c;基于腾讯Hunyuan-MT-7B核心引擎构建。不同于传统翻译工具的机械感&#xff0c;它将语言转换…...

TD-ACC+实验系统入门指南:手把手教你搭建典型环节模拟电路

TD-ACC实验系统实战手册&#xff1a;从零构建典型环节电路的21个关键细节 第一次接触TD-ACC实验系统时&#xff0c;看着密密麻麻的接口和旋钮&#xff0c;我的手指悬在半空迟迟不敢落下——生怕一个错误的连接就会烧毁昂贵的运算放大器。这种忐忑直到成功捕捉到第一个完美方波信…...

中国信通院启动公文写作智能体评估,推动技术落地与规范发展

【导语&#xff1a;中国信通院在前期《智能体技术要求与评估方法》研制基础上&#xff0c;开展公文写作智能体技术规范编制&#xff0c;并联合多家单位共同参与。现正式启动首批评估工作&#xff0c;成果计划于2026年6月发布&#xff0c;将推动该技术落地与规范发展。】联合编制…...

Halcon清晰度检测实战:5种算法全解析,手把手教你选出最清晰的PCB图像

Halcon清晰度检测实战&#xff1a;5种算法全解析&#xff0c;手把手教你选出最清晰的PCB图像 在工业视觉检测领域&#xff0c;PCB板的图像清晰度直接影响缺陷检测的准确率。当相机对焦不准确或存在景深限制时&#xff0c;如何从多张候选图像中自动选择最清晰的一张&#xff0c;…...

新手福音,用快马AI生成2048论坛登录页,轻松理解Web开发基础

今天想和大家分享一个特别适合新手入门的Web开发小项目——用InsCode(快马)平台快速搭建2048论坛的登录页面。作为刚接触编程的小白&#xff0c;我第一次看到这个需求时有点懵&#xff0c;但通过平台提供的AI生成功能&#xff0c;不仅快速实现了页面&#xff0c;还弄懂了每个环…...