springbboot加密打包_Spring Boot加密配置文件特殊内容

本文介绍了如何在SpringBoot开发中保障敏感信息,如数据库连接、FTP信息的安全。通过引入第三方加密库,对配置文件中的敏感数据进行加密,并在运行时解密使用,确保了应用程序的安全性。此外,还提供了加密解密的代码示例以及测试用例,以验证数据库连接的正确性。
摘要由CSDN通过智能技术生成

有时安全不得不考虑,看看新闻泄漏风波事件就知道了

我们在用Spring boot进行开发时,经常要配置很多外置参数ftp、数据库连接信息、支付信息等敏感隐私信息,如下

eea023e6db0a366a59397082c2a449b8.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

这不太好,特别是互联网应用,应该用加密的方式比较安全,有点类似一些应用如电商、公安、安检平台、滚动式大屏中奖信息等显示身份证号和手机号都是前几位4109128*********和158*******。

那就把图中的明文改造下

1.  引入加密包,可选,要是自己实现加解密算法,就不需要引入第三方加解密库

com.github.ulisesbocchio

jasypt-spring-boot-starter

3.0.2

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

2.   加密敏感内容,然后填充配置文件

加密代码:

BasicTextEncryptor textEncryptor = new BasicTextEncryptor();

textEncryptor.setPassword("company");

String name = textEncryptor.encrypt("root");

String password = textEncryptor.encrypt("cstorfs");

System.out.println("数据库用户名加密后:"+name);

System.out.println("数据库密码加密后:"+password);

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

输出加密后的效果

ce54ab7390942bfa0fc6b57c08dedb73.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

把这两个值对应的填充到数据库用户名和密码

b74751887651c1dc4b1882ef0795e33f.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

3.   编写配置类

就是Spring里的标有@Configuration注解的类,然后解密配置文件里的数据库用户名和密码(就是上图中的敏感属性字段)

cf05e002247d5c5b8d8ef6c6ba9290e1.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

4.  编写测试案例

只写核心代码

// 我使用的最新版Springboot2.3.0(放弃1版本)启动后,不放心的话可以测试数据库是否连接正常

UserMapper userMapper = applicationContext.getBean(UserMapper.class);

Example example = new Example(User.class);

example.createCriteria().andEqualTo("username", "dongguangming");

List userList = userMapper.selectByExample(example);

if (userList.size() > 0) {

User user = userList.get(0);

logger.info("数据库连接正常,从用户表取用户名是donggguangming的数据,用户:" + user);

}

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

输出效果:

07e9e2a7531aed2485e561f8bf60e708.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

ok,就是这效果!!!

注意,加解密算法没有强制要求,可以自己写,敏感信息(ftp、email、数据库连接信息、支付支付宝微信等)也可以接着加,用的时候把它解密出现就行

参考:

0.  Spring Boot: How to encrypt properties in application.properties

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值