SpringBoot使用jasypt进行配置文件加密

SpringBoot使用jasypt进行配置文件加密

Scroll Down

1.依赖导入

 	<!-- 加密 -->
        <dependency>
            <groupId>com.github.ulisesbocchio</groupId>
            <artifactId>jasypt-spring-boot</artifactId>
            <version>2.0.0</version>
        </dependency>

2.启动类开启配置加密


@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
@EnableEncryptableProperties # 开启配置文件加密
public class YangBuYiApplication {

	public static void main(String[] args) {
		SpringApplication.run(YangBuYiApplication.class, args);
	}

}

3.创建测试类生成加密后的密钥


	public static void main(String[] args) {
		BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
		//加密所需的salt(盐)
		textEncryptor.setPassword("你的秘钥");
		//要加密的数据(数据库的用户名或密码)
		String username = textEncryptor.encrypt("xxxxxx");
		String password = textEncryptor.encrypt("xxxxxx");
		System.out.println("username:"+username);
		System.out.println("password:"+password);
	}

生成完毕

username:yUPkUPMTb/UX/qKfP0xCQw==
password:NwwqNtDKTBHOXDTg+5Y8Bg==

前往配置文件找到需要加密的位置使用ENC(生成的加密字符)

username: ENC(4ZE1F82knvMl3PD/BGr5JQ==)
password: ENC(KV7zZatN5GLUY9sIobCAUQ==)

4.让解密系统知道你设置的秘钥是什么

方法一

# 加密密钥
jasypt:
  encryptor:
    password: 你的秘钥

方法二 -Djasypt.encryptor.password=加密密钥