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,相关组件 【1】 master node三个组件 k8s的控制节点,对集群进行调度管理,接受集群外用户去集群操作请求master node 组成(四个组件):控制面 API Server:通信kube-Sche…...

opencv 处理的视频 保存为新视频 ,新视频 无法读取
问题描述: 如题 问题原因: 其实就是保存的帧如果处理成灰度图(单通道)的话,保存为新视频,则新视频读取不了 解决办法: 处理成三通道,保存的新视频即可被读取 代码: Vi…...

《golang设计模式》第一部分·创建型模式-02-原型模式(Prototype)
文章目录 1. 概念1.1 简述1.2 角色1.3 类图 2. 代码示例2.1 设计2.2 代码2.3 类图 1. 概念 1.1 简述 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 1.2 角色 Prototype(抽象原型类):它是声明克隆方法的接口…...

SpringCloudAlibaba微服务实战系列(一)Nacos服务注册发现
SpringCloudAlibaba微服务实战系列(一)Nacos服务注册发现 实战前先做一个背景了解。 单体架构、SOA和微服务 单体架构:近几年技术的飞速发展,各种各样的服务已经进入到网络化。单体架构发布时只需要打成一个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 虚拟机,但网上很多的安装教程不是很全,所以今天重新更新一下这篇博文(更新日期:2022.12.3),希望能帮到大家。除此之外,安装过程确实比较繁琐,可能会…...

如何评判算法好坏?复杂度深度解析
如何评判算法好坏?复杂度深度解析 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…...

如何声明静态方法 和 实现?
如何声明静态方法 和 实现?在 C 中,声明和实现静态方法(静态成员函数)与普通成员函数有一些区别。静态方法属于类本身,而不是类的对象,因此在声明和实现时需要特殊的语法。 声明静态方法: 在类…...

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

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

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

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

docker中设置容器健康检查
文章目录 一、docker-compose方式二、Dockerfile方式三、docker run方式四、查看检查日志 一、docker-compose方式 在docker-compose中加入healthcheck healthcheck 支持下列选项: test:健康检查命令,例如 ["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正常运行没有问题,服务部署到docker 容器中后调用Azure语音评估服务报错 Cancellation Reason 初始化平台失败 2.解决方案,变…...

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

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
在日常开发过程中,会频繁遇到对时间进行操作的场景,使用 Golang 中的 time 包可以很方便地实现对时间的相关操作。接下来的几篇文章会详细讲解 time 包,本文讲解一下 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_…...

【一文搞懂】—带霍尔编码器的直流有刷减速电机
文章目录 一、直流有刷电机二、减速比三、霍尔编码器3.1 霍尔编码器3.2 霍尔编码器测速原理 四、测速程序设计4.1 跳变沿检测4.2 计算转速 一、直流有刷电机 宏观上说直流有刷电机由固定部分(定子)和旋转部分(转子)组成。在定子上…...

滴水逆向三期笔记与作业——02C语言——05 正向基础/05 循环语句
目录 一、缓冲区溢出的HelloWorld二、永不停止的HelloWorld三、基础知识3.1 变量的声明3.2 类型转换(一般用于小转大)3.3 表达式3.4 语句和程序块3.5 参数与返回值3.6 关系运算符3.7 逻辑运算符:&& || !3.8 单目运算符3.9 三目运算符…...

Python抓取分享页面的源代码示例
本文章是关于利用Python方法来抓取某网站分享页面中的源码方法示例。需要大家注意的是Python抓取分享页面的源代码示例,是要在运行时导入BeautifulSoup.py文件后才可以使用。 Python抓取分享页面的源代码示例,需要用到python urllib2模块方法࿰…...

linux安装nginx遇到的报错
1、Linux如何修改只读文件(以设置自动连网为例) vim /etc/sysconfig/network-scripts/ifcfg-ens33 然后提示 E45:已设定选项“readonly”(请加!强制执行) 如果需要强制修改,可以使用࿰…...

一起学SF框架系列5.8-spring-Beans-Bean注解解析3-解析配置component-scan
本文主要讲述Spring是如何解析“context:component-scan”元素,扫描加载目录下的BeanDefinition。 解析内容 1、解析的元素如下: <!-- 注解模式:配置bean扫描路径(注:自动包含子路径) --><conte…...

【LeetCode热题100】打卡第42天:滑动窗口最大值搜索二维矩阵II
文章目录 【LeetCode热题100】打卡第42天:滑动窗口最大值&搜索二维矩阵II⛅前言 滑动窗口最大值🔒题目🔑题解 搜索二维矩阵II🔒题目🔑题解 【LeetCode热题100】打卡第42天:滑动窗口最大值&搜索二维…...

[uni-app] 微信小程序 - 组件找不到/导入报错 (分包问题导致)
文章目录 问题表现问题原因 问题表现 切换了个路径下的组件, 导入失败, 尝试了清缓存\重启\删项目等一些列操作均无效 上面两个路径中, 都存在一模一样的videItem.vue Main路径是可以导入的 Main路径是无法导入的 问题原因 后来发现, 是 分包的问题导致. 我们先来假设一个场…...

从零构建医疗领域知识图谱的KBQA问答系统:其中7类实体,约3.7万实体,21万实体关系。
项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实…...

编程小白的自学笔记十二(python爬虫入门四Selenium的使用实例二)
系列文章目录 编程小白的自学笔记十一(python爬虫入门三Selenium的使用实例详解) 编程小白的自学笔记十(python爬虫入门二实例代码详解) 编程小白的自学笔记九(python爬虫入门代码详解) 目录 系列文章…...

技术笔记2023076 rBoot学习7
技术笔记2023076 rBoot学习7 继续之前的学习。 代码分析:函数find_image() // prevent this function being placed inline with main // to keep mains stack size as small as possible // dont mark as static or itll be optimised out when // using the ass…...