在SpringBoot中通过jasypt进行加密解密的方法

 更新时间:2019年01月30日 11:16:40   作者:裴星宙  
今天小编就为大家分享一篇关于在SpringBoot中通过jasypt进行加密解密的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

1.用途

在SpringBoot中,通过jasypt可以进行加密解密. 这个是双向的, 且可以配置密钥.

2.使用:

2.1通过UT创建工具类,并认识jasypt

import org.jasypt.util.text.BasicTextEncryptor;
import org.junit.Test;
public class UtilTests {
  @Test
  public void jasyptTest() {
    BasicTextEncryptor encryptor = new BasicTextEncryptor();
    // application.properties, jasypt.encryptor.password
    encryptor.setPassword("abc");
    // encrypt root
    System.out.println(encryptor.encrypt("root"));
    System.out.println(encryptor.encrypt("root"));
    System.out.println(encryptor.encrypt("root"));
    // decrypt, the result is root
    System.out.println(encryptor.decrypt("UP/yojB7ie3apnh3mLTU7w=="));
    System.out.println(encryptor.decrypt("ik9FE3GiYLiHwchiyHg9QQ=="));
    System.out.println(encryptor.decrypt("9Obo/jq9EqmTE0QZaJFYrw=="));
  }
}

可以看出, 每次生成的密码是不一样的, 但是通过密钥,可以解密成一样的明文.

2.2在SpringBoot中配置jasypt

2.2.1配置密钥

jasypt.encryptor.password:abc

2.2.2使用

spring.datasource.url: jdbc:mysql://127.0.0.1:3306/tmp?useSSL=false&useUnicode=true&characterEncoding=utf-8

spring.datasource.username: ENC(ik9FE3GiYLiHwchiyHg9QQ==)

spring.datasource.password: ENC(ik9FE3GiYLiHwchiyHg9QQ==)

spring.datasource.driver-class-name: com.mysql.jdbc.Driver

2.2.3启动时配置密钥

java -jar -Djasypt.encryptor.password=abc xxx.jar

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • JDK动态代理原理:只能代理接口,不能代理类问题

    JDK动态代理原理:只能代理接口,不能代理类问题

    这篇文章主要介绍了JDK动态代理原理:只能代理接口,不能代理类问题。具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Mybatis 一级缓存与二级缓存的实现

    Mybatis 一级缓存与二级缓存的实现

    mybatis作为一个流行的持久化工具,缓存必然是缺少不了的组件。通过这篇文章,就让我们来了解一下一级缓存与二级缓存的实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • 详解Java如何实现在PDF中插入,替换或删除图像

    详解Java如何实现在PDF中插入,替换或删除图像

    图文并茂的内容往往让人看起来更加舒服,如果只是文字内容的累加,往往会使读者产生视觉疲劳。搭配精美的文章配图则会使文章内容更加丰富。那我们要如何在PDF中插入、替换或删除图像呢?别担心,今天为大家介绍一种高效便捷的方法
    2023-01-01
  • 用java实现猜数字游戏

    用java实现猜数字游戏

    这篇文章主要为大家详细介绍了用java实现猜数字游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Java设计模式之构建者模式知识总结

    Java设计模式之构建者模式知识总结

    这几天刚好在复习Java的设计模式,今天就给小伙伴们全面总结一下开发中最常用的设计模式-建造者模式的相关知识,里面有很详细的代码示例及注释哦,需要的朋友可以参考下
    2021-05-05
  • SpringCloud Gateway读取Request Body方式

    SpringCloud Gateway读取Request Body方式

    这篇文章主要介绍了SpringCloud Gateway读取Request Body方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • SpringBoot集成quartz实现定时任务

    SpringBoot集成quartz实现定时任务

    这篇文章主要介绍了如何使用SpringBoot整合Quartz,并将定时任务写入库中(持久化存储),还可以任意对定时任务进行如删除、暂停、恢复等操作,需要的可以了解下
    2023-09-09
  • Spring Boot JPA中java 8 的应用实例

    Spring Boot JPA中java 8 的应用实例

    这篇文章主要介绍了Spring Boot JPA中java 8 的应用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Java中Thread类基本用法详解

    Java中Thread类基本用法详解

    Java中的Thread类是用于创建和管理线程的类,Thread类提供了许多方法来管理线程,包括启动线程、中断线程、暂停线程等,下面这篇文章主要给大家介绍了关于Java中Thread类基本用法的相关资料,需要的朋友可以参考下
    2023-06-06
  • java连接postgresql数据库代码及maven配置方式

    java连接postgresql数据库代码及maven配置方式

    这篇文章主要介绍了java连接postgresql数据库代码及maven配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09

最新评论