写程序的时候,总是有些数据要做一些处理, 像比如说 手机号码,身份证号,住址之类的。在互联网大行其道的时代, 这些比较敏感的数据泄漏出去,可能就会有预想不到的事情发生。所以,保护个人隐私还是非常重要的,所以,通过技术手段规避可想而知是非常重要的。
这里主要从三个方面,讲讲关于技术手段对数据进行脱敏处理。
第一个是接口层, 接口经常在写, 如何对数据进行脱敏处理呢,其实可以借助于开源的框架, 像springboot ,默认使用jackson 对数据进行处理,返回给前端展示的是json格式的数据, 所以可以通过对jackson 序列化数据时,进行重写改造,达到数据脱敏的处理。
第二个是数据库的连接信息, 连接数据库的账号,密码,其实不应该明文显示,就可以通过 开源的组件来做, 是使用的jasypt , 只要引入其依赖就可以了,其github的地址为
https://github.com/ulisesbocchio/jasypt-spring-boot
可以上去看看其使用,配置起来是很简单的。
第三个是日志输出, 为了调试的时候, 会输出一堆的日志信息,其中就包括了一些敏感信息, 为了规避这些输出信息直接展示在控制台,可以做到对日志的脱敏处理, springboot 默认的使用的日志是logging, 这里使用的是对log4j的使用改造, 可以去除掉springboot其默认的logging,改引用依赖log4j2。 重写类实现AbstractStringLayout。自定义控制台输出规则。
重写的类需要替换掉log4j2.xml文件的默认PatternLayout实现,即可实现对日志信息的脱敏输出。
上面讲的代码放在了gitee上,需要的可以在我公众号上 回复 “数据脱敏”,即可领取本文的相关示例代码。