本文共 1580 字,大约阅读时间需要 5 分钟。
有时安全不得不考虑,看看新闻泄漏风波事件就知道了我们在用Spring boot进行开发时,经常要配置很多外置参数ftp、数据库连接信息、支付信息等敏感隐私信息,如下 这不太好,特别是互联网应用,应该用加密的方式比较安全,有点类似一些应用如电商、公安、安检平台、滚动式大屏中奖信息等显示身份证号和手机号都是前几位4109128**和158。那就把图中的明文改造下 1. 引入加密包,可选,要是自己实现加解密算法,就不需要引入第三方加解密库这篇文章主要介绍了Spring
Boot加密配置文件特殊内容的相关知识,是小编在网上看的的,如有冒犯会及时修改。本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
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"); ListuserList = userMapper.selectByExample(example); if (userList.size() > 0) { User user = userList.get(0); logger.info("数据库连接正常,从用户表取用户名是donggguangming的数据,用户:" + user); }
输出效果:
ok,就是这效果!!!注意,加解密算法没有强制要求,可以自己写,敏感信息(ftp、email、数据库连接信息、支付支付宝微信等)也可以接着加,用的时候把它解密出现就行有了 Spring Boot 的加持,我们在开发微服务的过程中,当然是如鱼得水。不过在最最基础的线程池的运用上,我们团队还是踩了不少比较低级的坑,这些都是可以都过很好的约定来进行规避的。这篇就简单给大家演示了一下我们基于 Spring Boot 的加密配置文件。
另外本人整理收藏了20年多家公司面试知识点整理 ,以及各种Java核心知识点免费分享给大家,想要资料的话请暗号qf。
转载地址:http://chefi.baihongyu.com/