如何处理SpringBoot Application.yml文件中账号密码信息进行加密处理

#如何处理SpringBoot Application.yml文件中账号密码信息进行加密处理

1、 引入jasypt:在项目的pom.xml中引入jasypt

<!--配置文件账号密码信息脱敏-->
        <dependency>
            <groupId>com.github.ulisesbocchio</groupId>
            <artifactId>jasypt-spring-boot-starter</artifactId>
            <version>2.1.0</version>
        </dependency>

2、新建一个test类,主要对于需要加密的信息进行加密

public class EncryptTest {

	@Test
	public void encrypt() {
		BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
		/** jasypt自身所需要设置的密钥 **/
		textEncryptor.setPassword("EbfYkitulv73I2p0mXI50JMXoaxZTKJ0");
		/** 假设设置的账号信息**/
		String appId = textEncryptor.encrypt("4567894");
		String apiKey = textEncryptor.encrypt("6XNGWibUMTYTa8SgdTL5C");
		String secretKey = textEncryptor.encrypt("9NtPd6KGRAIMDAPfNEz3iM2VF4VOco2p");
		
		System.out.println(appId + "----------------");
		System.out.println(apiKey + "----------------");
		System.out.println(secretKey + "----------------");

	}
}

3、将步骤2的生成的加密后的账号密码配置到application.yml中;
(1):格式为ENC(),括号中输入步骤2中生成的加密的密钥

baidu:
  #申请的应用ID
  appId: ENC(0AMroWvwSGgxIjOsyiSRMtZHIasH7jqY)
  apiKey: ENC(0AMroWvwSGgxIjOsyiSRMtZHIasH7jqY)
  secretKey: ENC(eSaRzjquRNFzU/0MeXtnt5+JRIkGcgZ3)
#jasypt密钥的配置
jasypt:
  encryptor:
    password: EbfYkitulv73I2p0mXI50JMXoaxZTKJ0

最后就可以启动项目。

上面的配置存在的问题:
由于jasypt的密钥明文依然还是直接放在了application.yml中;所以如果获取到这个密钥依然可以破解获取到账户密码;因此最好的配置方式是将密钥放在启动项中。在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值