侧边栏壁纸
博主头像
杨不易呀

你的压力来源于无法自律,只是假装努力,现状跟不上内心欲望,所以你焦虑又恐慌。——杨不易呀

  • 累计撰写 35 篇文章
  • 累计创建 45 个标签
  • 累计收到 38 条评论

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

杨不易呀
2021-05-11 / 0 评论 / 0 点赞 / 818 阅读 / 1,351 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2021-12-26,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

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=加密密钥

0

评论区