对SpringBoot项目配置文件进行加密

这篇具有很好参考价值的文章主要介绍了对SpringBoot项目配置文件进行加密。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.SpringBoot项目pom添加maven依赖

<!-- https://mvnrepository.com/artifact/com.github.ulisesbocchio/jasypt-spring-boot-starter -->
<dependency>
    <groupId>com.github.ulisesbocchio</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>3.0.5</version>
</dependency>

 2.使用单元测试生成加密数据

设置配置文件(bootstrap.yml或者application.yml)

jasypt:
  encryptor:
    password: jasypt!di@soc
    algorithm: PBEWithMD5AndDES

password:加密的盐

algorithm:加密算法,这里使用 PBEWithMD5AndDES

运行单元测试文件

package com.pscsoft.code.isoc;

import org.jasypt.encryption.StringEncryptor;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Import;

/**
 * @author avry.jiang
 * @date 2023-06-28 17:45:58
 */
@SpringBootTest()
@Import({IsocApplication.class})
public class JasyptUtilTest {

    @Autowired
    private StringEncryptor encryptor;

    @Test
    public void jasypt() {
        String name = encryptor.encrypt("12345678");
        System.out.println("en: " + name);
        System.out.println("de: " + encryptor.decrypt(name));
    }

}

执行结果:

springboot 配置文件加密,SpringBoot,安全,spring boot

 

 3.在SpringBoot项目中使用

配置mysql的jdbc,使用“ENC(密文)”配置密码,其他配置有密码都类似修改

springboot 配置文件加密,SpringBoot,安全,spring boot

 

 4.将加密盐放入配置文件、启动环境或者启动命令中

4.1.Idea启动项配置

--jasypt.encryptor.password=jasypt!di@soc --jasypt.encryptor.algorithm=PBEWithMD5AndDES

springboot 配置文件加密,SpringBoot,安全,spring boot

4.2.配置文件(不推荐,会暴露加密盐反推明文的)
jasypt:
  encryptor:
    password: jasypt!di@soc
    algorithm: PBEWithMD5AndDES
 4.3.其他

如果是docker启动,可以配置在Dockerfile中指定启动命令

ENTRYPOINT ["java","-jar","-Xms1024m", "-Xmx1024m","--jasypt.encryptor.password=jasypt!di@soc","--jasypt.encryptor.algorithm=PBEWithMD5AndDES", "/xxx/xxx.jar"]

 启动项目即可文章来源地址https://www.toymoban.com/news/detail-696550.html

到了这里,关于对SpringBoot项目配置文件进行加密的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot使用Jasypt对配置文件加密、数据库密码加密

    Dmo源码请点这里! Jasypt是一个Java简易加密库,用于加密配置文件中的敏感信息,如数据库密码。jasypt库与springboot集成,在实际开发中非常方便。 1、Jasypt Spring Boot 为 spring boot 应用程序中的属性源提供加密支持,出于安全考虑,Spring boot 配置文件中的敏感信息通常需要对它进

    2024年04月28日
    浏览(47)
  • springBoot配置文件账号密码加密存储(springCloud nacos)

            最近公司有要求,项目中的配置文件不允许明文存储,全部要改为密文,收集了一些资料,在这里做下记录总结。 在Application启动主类中加入启动注解 @EnableEncryptableProperties 注:加密因子password配置在配置文件中也会涉及到安全问题,更安全的做法是:将其作为系

    2024年02月16日
    浏览(34)
  • Springboot实现对配置文件中的明文密码加密

    我们在 SpringBoot 项目当中,会把数据库的用户名密码等配置直接放在 yaml 或者 properties 文件中,这样维护数据库的密码等敏感信息显然是有一定风险的,如果相关的配置文件被有心之人拿到,必然会给项目造成一定的安全风险;所以为了避免明文密码被直接看到,我们有必要

    2024年02月12日
    浏览(49)
  • SpringBoot + Vue前后端分离项目实战 || 六:Jwt加密整合配置

    在之前的系统中,我们利用 UUID 配合 Redis 以达到角色登录的功能。 当前整个系统存在一个问题:人为 修改token值 后,用户仍然能在前端进行数据库操作,后台没有校验当前用户 token 就允许一些请求,导致系统存在 安全漏洞 。 解决方法: Jwt签名验证 。整合 Jwt 后,前端发

    2024年02月15日
    浏览(48)
  • SpringBoot+jasypt-spring-boot-starter实现配置文件明文加密

    springboot:2.1.4.RELEASE JDK:8 jasypt-spring-boot-starter:3.0.2 Jasypt默认算法为PBEWithMD5AndDES,该算法需要一个加密密钥,可以在应用启动时指定(环境变量)。也可以直接写入配置文件 3.1 application.properties配置文件版 加密后,可删除jasypt.encryptor.password配置;发版时可在命令行中配置 3.2 函数

    2024年02月15日
    浏览(42)
  • SpringBoot(项目创建使用+配置文件+日志文件)

    目录 1. Spring Boot 项目创建 2. 写一个 Hello World 并运行 3. 配置文件的作用及格式 4. properties 配置文件的基本语法  5. 读取配置文件 6. yml 配置文件说明 7. properties 和 yml 的区别 8. SpringBoot 日志文件 8.1 日志的作用 8.2 自定义日志打印 8.3 日志的级别 8.4 日志持久化 8.5 更简单的实现

    2024年01月22日
    浏览(56)
  • springboot 项目日志配置文件详解

    在Spring Boot项目中,可以通过在 application.properties 或 application.yml 文件中指定日志配置文件来配置日志。 1. 使用 application.properties 文件: 在 application.properties 中,您可以使用以下属性来指定日志配置文件: 上述配置将告诉Spring Boot使用位于类路径下的 custom-logback.xml 文件作为

    2024年02月12日
    浏览(51)
  • 安全实现SpringBoot配置文件自动加解密

    应用程序开发的时候,往往会存在一些敏感的配置属性 数据库账号、密码 第三方服务账号密码 内置加密密码 其他的敏感配置 对于安全性要求比较高的公司,往往不允许敏感配置以明文的方式出现。 通常做法是对这些敏感配置进行加密,然后在使用的地方进行解密。但是有

    2024年02月06日
    浏览(40)
  • Docker 部署SpringBoot项目,使用外部配置文件启动项目

    一、Springboot项目引入配置文件的方式: 二、docker启动SpringBoot项目饮用外部部署文件

    2024年02月09日
    浏览(46)
  • springboot项目(jar包)指定配置文件启动

    在JetBrains IDEA开发工具的配置 在IDEA中的program arguments配置此项 --spring.profiles.active=dev 命令 在IDEA中的VM options配置此项 -Dspring.profiles.active=dev 命令 该启动时方式会去加载Jar包中resource目录下application-dev.yml或application-dev.properties文件。同时需要注意的是通IDEA的启动方式一样。 y

    2024年02月12日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包