0

0

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

WBOY

WBOY

发布时间:2023-06-01 08:55:44

|

1507人浏览过

|

来源于亿速云

转载

Jasypt介绍

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

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

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

添加如下依赖:

    
        com.github.ulisesbocchio
        jasypt-spring-boot-starter
        2.1.1
    

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

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

Snowy(SnowyAdmin)快速开发平台3.5.1
Snowy(SnowyAdmin)快速开发平台3.5.1

Snowy(SnowyAdmin)是国内首个国密前后端分离快速开发平台,集成国密加解密插件, 软件层面完全符合等保测评要求,同时实现国产化机型、中间件、数据库适配,是您的不二之选! 技术框架与密码结合,让更多的人认识密码,使用密码;更是让前后分离“密”不可分。采用SpringBoot+MybatisPlus+AntDesignVue+Vite 等更多组件及前沿技术开发,注释丰富,代码简洁,开箱即用

下载

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

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

Windows环境变量方式指定

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

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

Linux环境变量方式进行指定

编辑环境变量文件

vim /etc/profile

在最下方添加

export JASYPT_PASSWORD=Jasypt

保存退出刷新环境变量

source /etc/profile

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

22

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

99

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

132

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

15

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

65

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

61

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

63

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Redis6入门到精通超详细教程
Redis6入门到精通超详细教程

共47课时 | 5.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号