Springboot怎么集成Jasypt实现配置文件加密

本文小编为大家详细介绍“Springboot怎么集成Jasypt实现配置文件加密”,内容详细,步骤清晰,细节处理妥当,希望这篇“Springboot怎么集成Jasypt实现配置文件加密”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

Jasypt介绍

Jasypt是一个java库,它允许开发员以最少的努力为他/她的项目添加基本的加密功能,并且不需要对加密工作原理有深入的了解

用于单向和双向加密的高安全性、基于标准的加密技术。加密密码,文本,数字,二进制文件...

适合集成到基于Spring的应用程序中,开放API,用于任何JCE提供程序...

添加如下依赖:

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

Jasypt好处

        保护我们的系统安全,即使代码泄露,也可以保证数据源的绝对安全。

应用场景

        对配置文件中的所有账号密码进行加密,以及想加密的东西进行加密。

使用方式

        通过密钥对账号或者密码进行加解密,项目启动时候对密文进行解密。

实战使用

加解密工具类

import org.jasypt.util.text.BasicTextEncryptor;
/********************************************************************************
 ** @author : ZYJ
 ** @date :2023/04/26
 ** @description :Jasypt加密解密
 *********************************************************************************/
public class Jasypt {
    public static void main(String[] args) {
        BasicTextEncryptor basicTextEncryptor = new BasicTextEncryptor();
        //加密的密钥
        basicTextEncryptor.setPassword("Jasypt");
        //密码进行加密
        String encrypt = basicTextEncryptor.encrypt("密码:123456");
        //密码进行解密
        String decrypt = basicTextEncryptor.decrypt(encrypt);
        //结果输出
        System.out.println("加密后的结果:"+encrypt);
        System.out.println("加密后的结果:"+decrypt);
    }
}

修改配置文件,数据库账号密码加密,将密文使用ENC()包含起来,放在括号里面,用ENC()的意义在启动的时候解密加载。

Springboot怎么集成Jasypt实现配置文件加密

 在配置文件application.yml配置密钥,用指定的密钥进行解密

jasypt:
  encryptor:
    password: Jasypt

不过这种方式不可取,代码泄露账号密码就和明文没什么区别,可以将密钥配置在环境变量中,直接做为系统环境变量进行加载!!

密钥通过环境变量方式进行指定,修改配置文件,将密钥换成环境变量名称,以${环境变量名称}的形式,在启动的时候通过环境变量名称寻找变量值,也就是我们的密钥!!!

jasypt:
  encryptor:
    #环境变量变量名称
    password: ${JASYPT_PASSWORD}

Windows环境变量方式指定

注意:在windows配置完环境变量的时候需要关闭IDEA重新打开,让它加载环境变量。

Springboot怎么集成Jasypt实现配置文件加密

Linux环境变量方式进行指定

编辑环境变量文件

vim /etc/profile

在最下方添加

export JASYPT_PASSWORD=Jasypt

保存退出刷新环境变量

source /etc/profile

读到这里,这篇“Springboot怎么集成Jasypt实现配置文件加密”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程之家行业资讯频道。

相关文章

今天小编给大家分享的是Springboot下使用Redis管道(pipeline...
本篇文章和大家了解一下springBoot项目常用目录有哪些。有一...
本篇文章和大家了解一下Springboot自带线程池怎么实现。有一...
这篇文章主要介绍了SpringBoot读取yml文件有哪几种方式,具有...
今天小编给大家分享的是SpringBoot配置Controller实现Web请求...
本篇文章和大家了解一下SpringBoot实现PDF添加水印的方法。有...