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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cmd中javac和java使用及注意事项

    cmd中javac和java使用及注意事项一、简述:cmd中,执行java命令与javac命令的区别:javac:是编译命令,将java源文件编译成.class字节码文件。例如:javachello.java将生成hello.class文件。 java:是运行字节码文件;由java虚拟机对字节码进行解释和运行。例如:javahello 二、详述:下面我们来写个java文件试试。1、打开记事本…

    2022年5月28日
    36
  • 服务器中”系统平均负载 Load average“含义学习

    服务器中”系统平均负载 Load average“含义学习文章目录一、什么是系统平均负载二、衡量系统性能三、行车过桥(引用)四、自我总结一、什么是系统平均负载  uptime、w、top等命令都会有系统负载loadaverage的输出,系统平均负载被定义为在特定时间间隔内运行队列中的平均进程数,包括可运行状态和不可中断状态的平均进程数,也就是活跃进程数。它和cpu使用率没有直接的关系二、衡量系统性能  如果系统平均负载的数值除以CPU的数目高于…

    2025年11月7日
    6
  • 真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)

    真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)ubuntu18.04安装GPU+CUDA+cuDNN:目前,大多情况下,能搜到的基本上都ubuntu14.04.或者是ubuntu16.04的操作系统安装以及GPU环境搭建过程,博主就目前自身实验室环境进行分析,总结一下安装过程。1.实验室硬件配置(就需要而言):gpu:GeForcetitanxp12G显存内存:6…

    2022年5月4日
    54
  • Java程序员必看的 14 本 Java 书籍![通俗易懂]

    Java程序员必看的 14 本 Java 书籍![通俗易懂]关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书!毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单。在下面这13本书籍中小编还是要建议大家可以先去关注英文原版,毕竟翻译的书籍中都有一定的语法错误。 入门 《HeadFirstJava》作者:KathySierra/…

    2022年7月7日
    120
  • oracle关闭服务命令_oracle数据库命令

    oracle关闭服务命令_oracle数据库命令一、srvctl命令的使用srvctl是servicecontrol的缩写,基本的用法是srvctl[],使用srvctl命令,可以对rac各个节点的数据库实例,asm实例和监听器等进行管理,挺方便的工具oracle@rac2~]$srvctlUsage:srvctl[]command:enable|disable|start|stop|relocate|status|add…

    2025年10月31日
    4
  • pcep协议什么意思_什么是SDN「建议收藏」

    pcep协议什么意思_什么是SDN「建议收藏」传统网络设备部署模式来说,基于整个网络状态的决策都要由每台网络设备独立承担,如果执行控制平面功能的模块的处理能力达到了设备极限,即便数据平面带宽仍有富余,也可能会出现瓶颈。此外,如果控制平面决策进程涉及多个节点的信息,如RSVP(ResourceReservationProtocol,资源预留协议)应用场景,那么就需要在节点之间执行额外的通信操作以收集相关信息,进而给设备带来不必要的开销负担。…

    2025年9月28日
    2

发表回复

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

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