首页 > 其他分享 >SpringBoot 配置文件内容加密

SpringBoot 配置文件内容加密

时间:2023-11-15 14:23:22浏览次数:36  
标签:加密 SpringBoot 配置文件 jasypt encryptor Test password config

1.引入pom

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

2.配置application信息

jasypt:
  encryptor:
    # 加密算法
    algorithm: PBEWITHHMACSHA512ANDAES_256
    # 加密使用的盐
    password: xxxxx_password

3.编写测试代码获取加密后的数据

/**
 * 加密解密测试
 */
@SpringBootTest
@RunWith(SpringRunner.class)
public class Test {

    @Autowired
    private StringEncryptor stringEncryptor;

    /**
     * 加密解密测试
     */
    @Test
    public void jasyptTest() {
        // 加密
        System.out.println(stringEncryptor.encrypt("root"));    // JSrINYe4IBotHndGjX1hnmY3mtPNUJlXjP12cx1+pHqUz2FNXGPu3Frnajh3QCXg
        // 解密
        System.out.println(stringEncryptor.decrypt("JSrINYe4IBotHndGjX1hnmY3mtPNUJlXjP12cx1+pHqUz2FNXGPu3Frnajh3QCXg"));    // root
    }

    /**
     * 手动测试
     */
    @Test
    public void test() {
        PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
        SimpleStringPBEConfig config = new SimpleStringPBEConfig();
        config.setPassword("jaspyt_password");
        config.setAlgorithm("PBEWITHHMACSHA512ANDAES_256");
        config.setKeyObtentionIterations("1000");
        config.setPoolSize("1");
        config.setProviderName("SunJCE");
        config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
        config.setIvGeneratorClassName("org.jasypt.iv.RandomIvGenerator");
        config.setStringOutputType("base64");
        encryptor.setConfig(config);
        System.out.println(encryptor.encrypt("root"));    // JSrINYe4IBotHndGjX1hnmY3mtPNUJlXjP12cx1+pHqUz2FNXGPu3Frnajh3QCXg
    }
}

4.替换数据库配置

 最后启动项目测试ok。

## 最后,我这里走的是官方配置,大家也可以自定义bean去编写自己的配置。

标签:加密,SpringBoot,配置文件,jasypt,encryptor,Test,password,config
From: https://www.cnblogs.com/databank/p/17833724.html

相关文章

  • SpringBoot和mybatisPlus得核心知识点
    SpringBoot自动配置(Auto-Configuration):SpringBoot核心特性之一是自动配置。它尝试根据项目的依赖和内容推断应用程序应该如何配置。这简化了开发人员的工作,因为他们无需手动配置大量的设置。起步依赖(StarterDependencies):SpringBoot提供了一系列预配置的依赖项,称为“起......
  • 如何用SSH密钥实现加密和电子签名?
    SSH(SecureShell)密钥对可用于实现加密和数字签名,以确保数据的机密性和完整性。以下是使用SSH密钥进行加密和数字签名的基本步骤:1.生成SSH密钥对:在本地计算机上生成SSH密钥对,这包括私钥和公钥。使用以下命令生成:ssh-keygen-trsa-b2048这将生成一个2048位的RSA密钥对。您将被提......
  • 用bash脚本快速生成/管理openwrt .config配置文件
    Openwrt自带的图形化配置工具非常方便,但如果自己编译的时候经常要改设置,需要选中或者取消的package散落在图形配置的各个角落,那无疑是非常痛苦的一件事,下面用bash脚本来优化这一流程。下面以生成x86固件为例首先备份你已有的.config配置文件,然后makemenuconfig,在架构中选中x86-......
  • SpringBoot整合数据可视化大屏使用
    整合数据可视化大屏是现代化应用程序中的一个重要组成部分,它可以帮助我们更直观地展示和理解大量的数据。在SpringBoot框架中,我们可以使用一些优秀的前端数据可视化库来实现数据可视化大屏,例如ECharts、Highcharts等。本文将详细介绍如何在SpringBoot中整合数据可视化大屏。1......
  • 使用Winsw部署springboot项目
    原文地址:https://blog.csdn.net/weixin_43862767/article/details/120725943使用Winsw部署springboot项目文章目录使用Winsw部署springboot项目前言一、WinSW是什么?二、WinSW下载及使用1.下载2.使用XML配置安装服务后续部署前言之前工作项目部署环境都是使用的Windows服务器,但是w......
  • C#.NET与JAVA加密解密
    C#.NET国密SM4对称加解密与JAVA互通  SM4加密算法Java和C#相互   Vive.Crypto......
  • springboot
    pom.xml文件<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"> &l......
  • Spring,SpringMVC,SpringBoot中注解讲解
    目录1Spring和SpringMVC注解1.1SpringMVC注解[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@ExceptionHandler1.1.11@ResponseS......
  • springboot 注解学习之——@SpringBootApplication
    springboot注解学习之——@SpringBootApplicationspringboot版本3.1.5@Inherited//不认识的注解,顺便学习,字面意思:继承@SpringBootConfiguration//字面意思:SpringBoot配置@EnableAutoConfiguration//字面意思:可以自动配置@Inherited它是一个元注解(就是用来声明注解......
  • 214-springboot定时任务@Scheduled
    @Scheduled(fixedDelay=5000)@Scheduled(fixedDelay=5000),是启动后,马上开始第一次执行任务的么?应用启动时,任务会被立即执行。执行完成后,会等待5秒(因为fixedDelay设置为5000毫秒),然后再次执行任务。以后每次执行完任务,都会等待5秒后再次执行。类的注解:@Configuration@Ena......