美文网首页
SpringBoot整合jasypt实现配置文件加密

SpringBoot整合jasypt实现配置文件加密

作者: 任未然 | 来源:发表于2022-01-17 09:50 被阅读0次

一. 概述

在企业项目,配置文件通常保存着各种明文密码, 这种直接明文的做法可能就有点草率,不够安全. 本DEMO整合jasypt简单实现配置文件属性加密, 具体详细可以看jasypt官网

二. SpringBootDemo

2.1 依赖

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>

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

2.2 获取属性加密值

HelloWorld加密

@RunWith(SpringRunner.class)
@SpringBootTest
public class PasswordTest {
    @Autowired
    private StringEncryptor encryptor;

    /**
     * 生成加密密码
     */
    @Test
    public void testGeneratePassword() {
        // 你的邮箱密码
        String password = "HelloWorld";
        // 加密后的密码(注意:配置上去的时候需要加 ENC(加密密码))
        String encryptPassword = encryptor.encrypt(password);
        String decryptPassword = encryptor.decrypt(encryptPassword);

        System.out.println("password = " + password);
        System.out.println("encryptPassword = " + encryptPassword);
        System.out.println("decryptPassword = " + decryptPassword);
    }
}

运行结果

password = HelloWorld
encryptPassword = nWwBNED1eKH2sZouKA0W71S6U5lggLI8
decryptPassword = HelloWorld

2.3 yml配置

demo:
  # 格式 ENC(加密密码)
  value: ENC(nWwBNED1eKH2sZouKA0W71S6U5lggLI8)
# 为 jasypt 配置解密秘钥
jasypt:
  encryptor:
    password: wpr

2.4 测试

    @Value("${demo.value}")
    public String password;

    @Test
    public void testValue(){
        System.out.println("密码值为:"+password);
    }

相关文章

网友评论

      本文标题:SpringBoot整合jasypt实现配置文件加密

      本文链接:https://www.haomeiwen.com/subject/gsqchrtx.html