Spring Boot加密配置文件特殊内容的示例代码详解

网友投稿 277 2022-12-05


Spring Boot加密配置文件特殊内容的示例代码详解

有时安全不得不考虑,看看新闻泄漏风波事件就知道了我们在用Spring boot进行开发时,经常要配置很多外置参数ftp、数据库连接信息、支付信息等敏感隐私信息,如下

这不太好,特别是互联网应用,应该用加密的方式比较安http://全,有点类似一些应用如电商、公安、安检平台、滚动式大屏中奖信息等显示身份证号和手机号都是前几位4109128*********和158*******。那就把图中的明文改造下1. 引入加密包,可选,要是自己实现加解密算法,就不需要引入第三方加解密库

com.github.ulisesbocchio

jasypt-spring-boot-starter

3.0.2

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);

输出加密后的效果

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

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

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);

}

输出效果:

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

总结


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用IDEA搭建SSM框架的详细教程(spring + springMVC +MyBatis)
下一篇:浅析我对 String、StringBuilder、StringBuffer 的理解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~