springboot整合jasypt的详细过程

 更新时间:2024年02月19日 14:44:31   作者:果壳~  
这篇文章主要介绍了springboot整合jasypt的详细过程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

jasypt

保证项目中的账号密码不以明文的形式展示

springboot集成jasypt

1.引入maven依赖

<dependency>
	<groupId>com.github.ulisesbocchio</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>3.0.4</version>
</dependency>

2.启动类添加注解

import com.ulisesbocchio.jasyptspringboot.annotation.EnableEncryptableProperties;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@EnableEncryptableProperties
public class IpSourceApplication {
    public static void main(String[] args) {
       SpringApplication.run(IpSourceApplication.class, args);
    }
}

3.yaml配置

jasypt:
  encryptor:
    password: 02700083-9fd9-4b82-a4b4-9177e0560e92
    algorithm: PBEWithMD5AndDES
    iv-generator-classname: org.jasypt.iv.NoIvGenerator
my:
  username: ENC(atRC+VNwB17CQVilGftfQg==)
  password: ENC(Or0FKbtskiXsJlFtI23FxA==)

4.加解密测试类

import org.jasypt.util.text.BasicTextEncryptor;
public class Test01 {
    public static void main(String[] args) {
        //该类的选择根据algorithm:PBEWithMD5AndDE选择的算法选择
        BasicTextEncryptor encryptor = new BasicTextEncryptor();
        encryptor.setPassword("02700083-9fd9-4b82-a4b4-9177e0560e92");
        String encrypt = encryptor.encrypt("root");
        System.out.println(encrypt);
        String decrypt = encryptor.decrypt(encrypt);
        System.out.println(decrypt);
        encrypt = encryptor.encrypt("mysql");
        System.out.println(encrypt);
        decrypt = encryptor.decrypt(encrypt);
        System.out.println(decrypt);
    }
}

读取配置效果

@RestController
public class IpController implements InitializingBean {
    @Value("${my.username}")
    private String username;
    @Value("${my.password}")
    private String password;
    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("username:"+username+",password:"+password);
    }
}

到此这篇关于springboot整合jasypt的文章就介绍到这了,更多相关springboot整合jasypt内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决JdbcTemplate查询时报错Incorrect column count: expected 1, actual 17问题

    解决JdbcTemplate查询时报错Incorrect column count: ex

    文章描述了在使用JdbcTemplate执行查询时遇到的`IncorrectResultSetColumnCountException`错误,原因是`queryForList`方法返回的是`List<Map<String, Object>>`类型,不能直接转换成对象,解决方法是将代码修改为适当的查询方式,以避免错误
    2026-01-01
  • windows系统配置Java开发环境变量

    windows系统配置Java开发环境变量

    这篇文章主要介绍了windows系统配置Java开发环境变量,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-12-12
  • SpringBoot3 整合Docker-Compose的实现步骤

    SpringBoot3 整合Docker-Compose的实现步骤

    本文主要介绍了SpringBoot3 整合Docker-Compose的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-08-08
  • MyBatis-Plus更新字段为null的处理方案

    MyBatis-Plus更新字段为null的处理方案

    在使用 MyBatis-Plus 进行开发时,我们经常会遇到需要更新或插入字段为 null 的场景,然而,MyBatis-Plus 默认会忽略 null 值字段,导致这些字段不会被更新或插入到数据库中,本文将详细介绍如何解决 MyBatis-Plus 更新字段为 null 的问题,需要的朋友可以参考下
    2025-08-08
  • Quarkus的Spring扩展快速改造Spring项目

    Quarkus的Spring扩展快速改造Spring项目

    这篇文章主要为大家介绍了Quarkus的Spring项目扩展,带大家快速改造Spring项目示例演绎,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2022-02-02
  • java 如何判断是否是26个英文字母

    java 如何判断是否是26个英文字母

    这篇文章主要介绍了java 如何判断是否是26个英文字母的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Java中不常用但很好用的开发小技巧分享

    Java中不常用但很好用的开发小技巧分享

    其实干 Java 开发,必然离不开一些计算,所以就会经常用到 BigDecimal ,今天小编就来给大家分项一下那些不怎么常用,但是非常有用的方法,需要的可以参考一下
    2023-04-04
  • nacos的安装与配置全过程

    nacos的安装与配置全过程

    Nacos是一个微服务基础设施平台,用于服务注册与发现、配置管理和服务命名,本文介绍了在Windows和Linux环境下启动Nacos的步骤,包括配置JDK环境变量、修改为单机模式、启动Nacos以及配置端口号,通过这些步骤,可以成功启动Nacos并访问其注册中心
    2026-03-03
  • SpringBoot整合RabbitMQ实现消息确认机制

    SpringBoot整合RabbitMQ实现消息确认机制

    这篇文章主要介绍了SpringBoot整合RabbitMQ实现消息确认机制,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • Java用数组实现循环队列的示例

    Java用数组实现循环队列的示例

    下面小编就为大家带来一篇Java用数组实现循环队列的示例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09

最新评论