springboot 集成mybatis-plus_Spring Boot

springboot 集成mybatis-plus_Spring Bootspringboot集成jasyptJasypt不简介了,懒得在官网copy,直接传送官网说啥都假的,简单粗暴直接上代码引入依赖<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-start

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

springboot 集成 jasypt

Jasypt不简介了,懒得在官网copy, 直接传送官网

说啥都假的,简单粗暴直接上代码

  1. 引入依赖
<dependency>
	<groupId>com.github.ulisesbocchio</groupId>
	<artifactId>jasypt-spring-boot-starter</artifactId>
	<version>2.1.0</version>
</dependency>
  1. 配置加密参数
    2.1 使用 properties文件配置
    jasypt.encryptor.password=jasypt
    2.2 使用 yml文件配置
jasypt:
  encryptor:
    password: jasypt

除了以上两种配置个人推荐使用启动参数配置
idea 配置方法
在这里插入图片描述

  1. 两种生成加密密匙方式
    3.1 使用spring boot单元测试
    
    import org.jasypt.encryption.StringEncryptor;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class JasyptTest { 
         
    
    	@Autowired
    	private StringEncryptor stringEncryptor;
    
    	@Test
    	public void encryptPwd() { 
         
    		//加密123456
        	String result = stringEncryptor.encrypt("123456");
        	System.out.println(result);
    	}
    
    }
    

    3.2 使用工具类

    import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
    import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
    
    /** * @author shuzhuo * @date 2019/1/9 9:56 */
    public class JasyptUtil { 
         
    
    	/** * Jasypt生成加密结果 * @param password 配置文件中设定的加密密 * @param value 加密值 * @return */
    	public static String encyptPwd(String password,String value){ 
         
        	PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
        	encryptor.setConfig(cryptor(password));
        	String result = encryptor.encrypt(value);
        	return result;
    	}
    
    	/** * 解密 * @param password 配置文件中设定的加密密码 * @param value 解密密文 * @return */
    	public static String decyptPwd(String password,String value){ 
         
        	PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
        	encryptor.setConfig(cryptor(password));
        	String result = encryptor.decrypt(value);
        	return result;
    	}
    
    	public static SimpleStringPBEConfig cryptor(String password){ 
         
        	SimpleStringPBEConfig config = new SimpleStringPBEConfig();
        	config.setPassword(password);
        	config.setAlgorithm("PBEWithMD5AndDES");
        	config.setKeyObtentionIterations("1000");
        	config.setPoolSize("1");
        	config.setProviderName("SunJCE");
        	config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
        	config.setStringOutputType("base64");
        	return config;
    	}
    
    	public static void main(String[] args){ 
         
        	//加密
        	System.out.println(encyptPwd("jasypt","123456"));
        	//解密
        	System.out.println(decyptPwd("jasypt","lnzpDZItgjAntHqsYPFTew=="));
    	}
    }
    
  2. 将生成的加密密匙配置在配置文件中即可,ENC 是约定的关键字,在启动时会解析所有 PropertySource 中的加密属性。
    4.1 这里更改yml配置中连接数据库的密码
spring:
  datasource:
    password: ENC(lnzpDZItgjAntHqsYPFTew==)

如果是使用启动参数配置打包为jar 或war怎么配置呢?

jar: 命令:java -Djasypt.encryptor.password=jasypt -jar xxx.jar

war:
到Tomcat的bin目录下,打开文件catalina.bat/catalina.sh,添加如下参数,然后保存
加上启动参数配置
window:catalina.bat
set JAVA_OPTS="-Djasypt.encryptor.password=jasypt"
在这里插入图片描述

Linux:catalina.sh
JAVA_OPTS="-Djasypt.encryptor.password=jasypt"
在这里插入图片描述

或者直接在tomcat bin 目录新建setenv.bat setenv.sh
文件内容如下
Windows:
set JAVA_OPTS="-Djasypt.encryptor.password=jasypt"
Linux:
export JAVA_OPTS="-Djasypt.encryptor.password=jasypt"

更多请参考 jasypt github 文档

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189267.html原文链接:https://javaforall.net

(0)
上一篇 2026年4月14日 上午9:34
下一篇 2026年4月14日 上午9:40


相关推荐

  • 常用硬件知识点总结

    常用硬件知识点总结1、GPIO的8种工作模式①浮空输入:一般多用与外部按键输入。IO的电平状态是不确定的,完全由外部输入决定。输入引脚上任何噪声都会改变输入段检测到的电平。②带上拉输入:内接上拉电阻输入,当输入引脚悬空时读到的是1。③带下拉输入:内接下拉电阻输入,当输入引脚悬空时读到的是0。④模拟输入:应用ADC模拟输入⑤推挽输出:推挽电路是两个参数相同的三极管或MOSFET,以推…

    2022年7月22日
    11
  • 数据结构与算法经典书籍——大话数据结构(带配套源码)

    数据结构与算法经典书籍——大话数据结构(带配套源码)书本下载链接:链接:https://pan.baidu.com/s/1jgVnbBZoLgA8pshpxbapOQ密码:577l配套程序链接:https://pan.baidu.com/s/1HYka42KngWT2el7T0HO7LA密码:i6hw虽说数据结构以美国人MarkAllenWeiss写的《数据结构与算法分析——C语言实现》最好,但是我发现他的书让人很不容易理解,可能我们…

    2022年6月3日
    57
  • Mybatis工作流程及其原理与解析

    Mybatis简介:MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。本文将通过d…

    2022年4月7日
    58
  • miRbase 数据库简介

    miRbase 数据库简介miRbase 是 miRNA 的数据库 目前最新版本为 release21 共有 28645 条 miRNA nbsp 第 22 版已经完成 即将发布 22 版新增了 10000 个 miRNA 大多来源于新的物种 21 版的数据库中收录了 223 个物种的 miRNA 根据 nbsp phylum 水平分成以下几类 1 Metazoa 后生动物 nbsp nbsp nbsp nbsp nbsp 最常见的人 小鼠 大鼠 鸡 狗 牛 羊

    2026年3月20日
    1
  • 5个强大的Java分布式缓存框架_5个Java分布式缓存框架「建议收藏」

    5个强大的Java分布式缓存框架_5个Java分布式缓存框架「建议收藏」5个强大的Java分布式缓存框架1、Ehcache–Java分布式缓存框架Ehcache是一个Java实现的开源分布式缓存框架,EhCache可以有效地减轻数据库的负载,可以让数据保存在不同服务器的内存中,在需要数据的时候可以快速存取。同时EhCache扩展非常简单,官方提供的Cache配置方式有好几种。你可以通过声明配置、在xml中配置、在程序里配置或者调用构造方法时传入不同的参数。官方网…

    2022年5月24日
    139
  • Eureka 集群部署

    Eureka 集群部署Eureka集群介绍 注册中心Eureka又称服务中心,管理各种服务功能包括服务的注册、发现、熔断、负载、降级等。任何一个服务都不能直接去掉用,都需要通过注册中心来调用。通过服务中心来获取服务你不需要关注你调用的项目IP地址,由几台服务器组成,每次直接去服务中心获取可以使用的服务去调用既可。由于各种服务都注册到了服务中心,就有了很多高级功能条件。比如几台服务提供相同服务来做客户端负载均衡(Ribbon);监控服务器调用成功率来做断路器(Hystrix),移除服务列表中的故障点;监控服务调用时间

    2022年5月29日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号