SpringBoot使用jasypt加解密密码的实现方法(二)

 更新时间:2020年10月17日 12:27:10   作者:自行车上的程序员  
这篇文章主要介绍了SpringBoot使用jasypt加解密密码的实现方法(二),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

在我们的服务中不可避免的需要使用到一些秘钥(数据库、redis等)

开发和测试环境还好,但生产如果采用明文配置讲会有安全问题,jasypt是一个通用的加解密库,我们可以使用它。

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

配置文件:

# 加密的密钥
# 测试环境可以采用在配置文件中配置
# 生产环境建议采用启动参数的形式传入
# 其他配置参数参考:com.ulisesbocchio.jasyptspringboot.properties.JasyptEncryptorConfigurationProperties
jasypt.encryptor.password=you salt

# 解密得到原始密码
spring.datasource.password= ENC(密文)

那密文怎么来的呢?

@Autowired
StringEncryptor stringEncryptor;

@Test
public void encrypt() {
  System.out.println("PWD: " + stringEncryptor.encrypt("yourpassword"));
}
public static void main(String[] args) {
    BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
    //加密所需的salt(盐)
    textEncryptor.setPassword("G0CvDz7oJn6");
    //要加密的数据(数据库的用户名或密码)
    String username = textEncryptor.encrypt("root");
    String password = textEncryptor.encrypt("root123");
    System.out.println("username:"+username);
    System.out.println("password:"+password);
  }

jasypt默认使用StringEncryptor来进行加解密,我们也可以自定义自己的加解密类来替换它,具体用户用时请百度/google。

到此这篇关于SpringBoot使用jasypt加解密密码的实现方法(二)的文章就介绍到这了,更多相关SpringBoot加解密密码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java日期操作类常见用法示例

    Java日期操作类常见用法示例

    这篇文章主要介绍了Java日期操作类常见用法,结合实例形式分析了java针对日期时间的获取、转换常见操作技巧,需要的朋友可以参考下
    2019-07-07
  • 深入了解final在java中的应用

    深入了解final在java中的应用

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。
    2019-06-06
  • Java的Struts框架中登陆功能的实现和表单处理器的使用

    Java的Struts框架中登陆功能的实现和表单处理器的使用

    这篇文章主要介绍了Java的Struts框架中登陆功能的实现和表单处理器的使用,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
    2015-12-12
  • Java 无符号右移与右移运算符的使用介绍

    Java 无符号右移与右移运算符的使用介绍

    这篇文章主要介绍了Java 无符号右移与右移运算符的使用介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • 学习Java多线程之volatile域

    学习Java多线程之volatile域

    这篇文章主要为大家详细介绍了Java多线程之volatile域,Java 语言提供了一种稍弱的同步机制,即volatile,本文为大家解答,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • java获取指定开始时间与结束时间之间的所有日期

    java获取指定开始时间与结束时间之间的所有日期

    这篇文章主要为大家详细介绍了java获取指定开始时间与结束时间之间的所有日期,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • spring boot + mybatis实现动态切换数据源实例代码

    spring boot + mybatis实现动态切换数据源实例代码

    这篇文章主要给大家介绍了关于spring boot + mybatis实现动态切换数据源的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • java基于jedisLock—redis分布式锁实现示例代码

    java基于jedisLock—redis分布式锁实现示例代码

    这篇文章主要介绍了jedisLock—redis分布式锁实现示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Java 注册时发送激活邮件和激活的实现示例

    Java 注册时发送激活邮件和激活的实现示例

    这篇文章主要介绍了Java 注册时发送激活邮件和激活的实现示例的相关资料,需要的朋友可以参考下
    2017-07-07
  • Java 反射机制实例详解

    Java 反射机制实例详解

    这篇文章主要介绍了Java 反射机制实例详解的相关资料,这里对java中反射机制进行了详细的分析,需要的朋友可以参考下
    2017-09-09

最新评论