首页 > 文章列表 > SpringBoot项目中如何利用application.yml文件配置数据库密码加密

SpringBoot项目中如何利用application.yml文件配置数据库密码加密

数据库 springboot application.yml
474 2023-05-14

SpringBoot项目中如何利用application.yml文件配置数据库密码加密

使用@SpringBootApplication注解启动的项目,只需增加maven依赖

我们对信息加解密是使用这个jar包的:

编写加解密测试类:

package cn.linjk.ehome;

 

import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;

import org.jasypt.encryption.pbe.config.EnvironmentPBEConfig;

import org.junit.Test;

 

public class JasyptTest {

  @Test

  public void testEncrypt() throws Exception {

    StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();

    EnvironmentPBEConfig config = new EnvironmentPBEConfig();

 

    config.setAlgorithm("PBEWithMD5AndDES");     // 加密的算法,这个算法是默认的

    config.setPassword("test");            // 加密的密钥

    standardPBEStringEncryptor.setConfig(config);

    String plainText = "88888888";

    String encryptedText = standardPBEStringEncryptor.encrypt(plainText);

    System.out.println(encryptedText);

  }

 

  @Test

  public void testDe() throws Exception {

    StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();

    EnvironmentPBEConfig config = new EnvironmentPBEConfig();

 

    config.setAlgorithm("PBEWithMD5AndDES");

    config.setPassword("test");

    standardPBEStringEncryptor.setConfig(config);

    String encryptedText = "ip10XNIEfAMTGQLdqt87XnLRsshu0rf0";

    String plainText = standardPBEStringEncryptor.decrypt(encryptedText);

    System.out.println(plainText);

  }

}

加密串拿到了,现在来修改application.yml的配置:

我们把加密串放在ENC({加密串})即可。

启动时需要配置 秘钥

将秘钥加入启动参数