spring boot整合Jasypt实现配置加密

文章目录

目录

文章目录

前言

一、Jasypt是什么?

二、使用步骤

1.引入

2.测试使用 

3.结果 

总结



前言


一、Jasypt是什么?

Jasypt(Java Simplified Encryption)是一个Java库,提供了一种简单的加密解密方式,可用于保护敏感数据,例如密码、API密钥和数据库连接信息等。

Jasypt 提供了多种加密算法,包括标准的对称加密算法(如 DES、TripleDES、AES)、非对称加密算法(如 RSA)以及哈希函数(如 MD5、SHA-1)。它还支持基于口令的加密,这意味着你可以使用一组简单的密码来保护你的数据,而不必担心复杂的密钥管理操作。

Jasypt 与 Spring 框架集成良好,可以轻松地将其与 Spring Boot 应用程序一起使用。它还提供了自定义实现的接口,可以与其他应用程序框架或库进行集成。

在使用 Jasypt 进行加密时,通常需要设置一个盐值,以增加加密过程的安全性。盐值是一个随机生成的字符串,将其与待加密数据结合在一起,使得同样的明文每次加密后得到的密文都不同,增加了破解的难度。

综上所述,Jasypt 是一个易于使用和配置的 Java 加密库,适用于任何需要保护敏感数据的应用程序。

二、使用步骤

1.引入

<!-- 配置文件参数加密 -->
<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.5</version>
</dependency>

2.测试使用 

启动类的添加注解

@SpringBootApplication
@EnableEncryptableProperties//开启自动解密功能
public class SpringRetryApplication {public static void main(String[] args) {SpringApplication.run(SpringRetryApplication.class, args);}}

jasypt配置类

@Configuration
public class JasyptConfig {@Bean("jasyptStringEncryptor")public StringEncryptor stringEncryptor() {StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();//设置加密算法encryptor.setAlgorithm("PBEWithMD5AndDES");// 设置盐值encryptor.setPassword("salt2"); return encryptor;}
}

application.properties配置

固定格式ENC()括号里面是加密后的密文 然后实现自动解密 

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/carrent?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=ENC(mkCsYhIdnb3XWbiHyjsWGA==)

3.结果 

正常启动 spring boot 然后查询表数据正常


总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/185560.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaWeb | JSP基本语法

目录: 1.JSP2.JSP注释3.JSP 和 HTML有什么区别?4.JavaScript (JS) 和 JSP有什么区别&#xff1f;5.JSP表达式6.JSP程序段7.JSP声明8.URL传值9.JSP指令9.1Page指令的作用导入包设定字符集设定错误页面设定MIME类型和字符编码 9.2include指令9.3taglib指令 10.JSP动作11.include…

热门话题解析:pytest测试用例顺序问题解决方案!

前言 上一篇文章我们讲了在pytest中测试用例的命名规则&#xff0c;那么在pytest中又是以怎样的顺序执行测试用例的呢&#xff1f; 在unittest框架中&#xff0c;默认按照ACSII码的顺序加载测试用例并执行&#xff0c;顺序为&#xff1a;09、AZ、a~z&#xff0c;测试目录、测…

魔法值问题

一、什么是魔法值 魔法值&#xff0c;也叫做魔法数值、魔法数字&#xff0c;通常是指在代码编写时莫名出现的数字&#xff0c;无法直接判断数值代表的含义&#xff0c;必须通过联系代码上下文分析才可以明白&#xff0c;严重降低了代码的可读性。除数字之外&#xff0c;代码中…

Codeforces Round 906 (Div. 2)(D推公式 E1分类讨论区间 E2 dp+线段树)

A - Doremys Paint 3 推公式得 b1b3b5b7.... b2b4b6b8... 所以如果只有一个数或者两个数且数量差小于等于1即可 #include<bits/stdc.h> using namespace std; const int N 2e510,mod1000003; #define int long long typedef long long LL; typedef pair<int, in…

第三方实验室LIMS管理系统源码,asp.net LIMS源码

LIMS实验室信息管理系统源码 LIMS系统的功能根据实验室的规模和任务而有所不同&#xff0c;其系统主要功能包括:系统维护、基础数据编码管理&#xff0c;样品管理、数据管理、报告管理、报表打印、实验材料管理、设备管理等。它可以取代传统的手工管理模式而给检测实验室带来巨…

java获取第n次出现字符串前后面字符串,如:截取第二个逗号后面的数据

java获取第n次出现字符串前后面字符串&#xff0c;如&#xff1a;截取第二个逗号后面的数据 方法&#xff1a; /*** 获取指定第几位字符串后面字符串&#xff0c;如&#xff1a;截取第二个逗号后面的数据** param str:要处理的字符串* param mediumStr&#xff1a;根据截取的媒…

时间序列异常检测14篇顶会论文合集,附必备工具和数据集

今天来聊聊一个在量化交易、网络安全检测、自动驾驶汽车和大型工业设备的日常维护等领域都有重要作用的研究主题&#xff1a;时间序列异常检测。 时间序列异常检测是一种在时间序列数据中识别和标识与预期模式、趋势或行为不符的异常点或事件的技术。鉴于它如此广泛的应用范围…

18、串口通信

串口介绍 串口是一种应用十分广泛的通讯接口&#xff0c;串口成本低、容易使用、通信线路简单&#xff0c;可实现两个设备的互相通信。 单片机的串口可以使单片机与单片机&#xff0c;单片机与电脑、单片机与各式各样的模块互相通信&#xff0c;极大的扩展了单片机的应用范围&…

MySQL InnoDB Cluster

MySQL InnoDB Cluster 一、InnoDB Cluster 基本概述 MySQL InnoDB Cluster 为 MySQL 提供了一个完整的高可用解决方案。通过使用 MySQL Shell 提供的 AdminAPI,你可以轻松地配置和管理一组至少由3个MySQL服务器实例组成的 InnoDB 集群。 InnoDB 集群中的每个 MySQL 服务器实例…

JRT和检验共用的打印层实现

之前对接的打印和导出是C#实现的&#xff0c;如果要完全Java化就需要用Java把打印元素绘制协议用Java实现&#xff0c;这次介绍实现主体搭建&#xff0c;最终使JRT达到完全信创和跨平台目标。到这篇后&#xff0c;所有的Java难题都解决完毕&#xff0c;几天到几周之内就可以把打…

(二进制、八进制、十进制、十六进制)的进制转换

整型有4种进制形式&#xff1a; 1.十进制&#xff1a; 都是以0-9这九个数字组成&#xff0c;不能以0开头。 2.二进制&#xff1a; 由0和1两个数字组成。 3.八进制&#xff1a; 由0-7数字组成&#xff0c;为了区分与其他进制的数字区别&#xff0c;开头都是以0开始。 4.十六进制…

聚类算法的算法原理

聚类算法是机器学习中常用的一种无监督学习方法&#xff0c;其主要目标是将数据集划分为具有相似特征的组或簇。这种算法在数据挖掘、模式识别、社交网络分析等领域有着广泛的应用。聚类算法的核心思想是通过计算数据点之间的相似度或距离&#xff0c;将相似的数据点聚集在一起…

WordPress 粘贴图片上传插件

找了很久&#xff0c;发现一款不错的插件&#xff0c;允许我们直接粘贴图片文件并且上传到媒体库。以前的插件上传后媒体库不会显示&#xff0c;这个要显示。 启用后编辑器会有一个图标&#xff0c;如果开启&#xff0c;那么久可以截图后直接粘贴了。 学习资料源代码&#xf…

Servlet在使用工厂缓存factory 文本上传报错

因为我没有E盘 我试了一下txt文件是可以的上传,说明我txt很小 很小文件就不用缓存. 原本是这样: DiskFileItemFactory factory new DiskFileItemFactory(); //设置文件缓存目录&#xff0c;如果该目录不存在则新创建一个3 File f new File("E:\\TempFolder"); if…

TR转发路由器测评—云企业网实现跨地域跨VPC的网络互通测评实战【阿里云产品测评】

文章目录 一.转发路由器 Transit Router 测评1.1 准备阶段1.2 本文测评收获1.3 什么是云企业网实例、转发路由器实例和云数据传输服务 二.使用云企业网实现跨地域跨VPC的网络互通2.2 **测试连通性**2.3 网络拓扑如下&#xff1a; 心得&#xff1a;总结&#xff1a; 声明&#x…

Armbian安装python环境和pip国内源

文章目录 安装python环境配置pip为国内源 安装python环境 更新软件包列表&#xff1a; sudo apt update安装 Python 3&#xff08;通常是最新版本&#xff09;&#xff1a; sudo apt install python3验证 Python 安装是否成功&#xff1a; python3 --version运行上述命令后&…

Linux系列:Linux上杀毒软件有哪些?

Linux上杀毒软件有哪些? 前言:软件Linux开源防病毒引擎ClamAV前言: Linux平台上的杀毒软件不如Windows平台上那么普及,因为Linux操作系统本身设计得就比较安全,而且不容易感染病毒。但是随着技术的进步和恶意软件增多,Linux平台上的安全软件也越来越多,以下是一些Linux…

如何设定目标-SMART原则

1 SMART原则 SMART原则是一种目标设定和管理的方法 1.1 S:specific 明确的 具体的 错误&#xff1a;我想财富自由 (只能算是一个愿望) 正确&#xff1a;攒1000个W 1.2 M:measurable 可衡量的 攒1000个W&#xff0c;如果攒了500个&#xff0c;则目标完成50% 1.3 A:achieva…

基于SpringBoot房屋租赁系统

摘 要 社会的发展和科学技术的进步&#xff0c;互联网技术越来越受欢迎。网络计算机的生活方式逐渐受到广大人民群众的喜爱&#xff0c;也逐渐进入了每个用户的使用。互联网具有便利性&#xff0c;速度快&#xff0c;效率高&#xff0c;成本低等优点。 因此&#xff0c;构建符…

JSON.stringify方法详解 后端接受JSON数据格式

1、方法定义&#xff1a;JSON.stringify(value, replacer, space) 参数说明&#xff1a; value&#xff1a;js对象 replacer&#xff1a;替换对象&#xff0c;可以是一个方法、对象或数组&#xff0c;将value按照替换规则展示。 space&#xff1a;填充参数&#xff0c;可以是数…