cmaedu.com
cmaedu.com 在我们书写代码的时候,会书写许多日志代码,但是有些敏感数据是需要进行安全脱敏处理的。
对于日志脱敏的方式有很多,常见的有①使用 conversionRule 标签,继承 MessageConverter ②书写一个脱敏工具类,在打印日志的时候对特定特字段进行脱敏返回。
两种方式各有优缺点:
cmaedu.com 一个项目在书写了很多打印日志的代码,但是后面有了脱敏需求,如果我们去手动改动代码,会花费大量时间。如果引入本组件,完成配置即可轻松完成脱敏。(仅需三步可轻松配置)
前提是你将Jar包打入本地仓库,Jar包地址见后文。
日志打印方式都只需要替换成脱敏的类即可,如果你的业务不需要,则无需替换。
cmaedu.com 该配置文件应该放在resources文件下
cmaedu.com 八大基本类型及其包装类型、Map、List、业务里的Pojo对象、List业务里的Pojo对象、JSON字符串。
cmaedu.com List八大基本类型及包装类型,因为不知道脱敏的数据源具体是哪一个。
cmaedu.com key + 分割符 + value,目前仅支持冒号(:)和等号(=),示例如下:
建议书写日志的时候尽量规范,对于key为中文的是没有办法脱敏的,规范程度可以见脱敏效果演示里的代码。
上面这个配置是相对完整的,一定要严格遵守层级配置格式。
cmaedu.com emai:"@(4,7)" , @ 为脱敏标志, 表示其为结束节点, 表示其为开始节点。即 @ 表示对 @ 之前的进行脱敏, @ 表示对 @ 之后的进行脱敏。这个示例就是 @ 前的数据的第4-7位进行脱敏。推荐: Java面试题宝典
customRegex:正则表达式,如果符合该表达式,则使用其对应的脱敏规则(position)
比如说,username字段的值可以是手机号、也可以是邮箱,这个值动态改变的,前面几种方式都没办法解决,可以使用该方式。
该组件内置四种匹配规则:手机号、身份证号、邮箱、other(其他匹配不到时用的),内置一种脱敏方式:password,表示完全脱敏,可用于pattren下的。
cmaedu.com 注:当pattern和patterns下的key有重复的时候,只会使用pattern下指定的方式进行脱敏。
cmaedu.com Jar包地址和源码地址
cmaedu.com Github地址:
1、下载Jar包,放在一个文件夹里
2、在这个文件夹里打开cmd(打开cmd,进入到这个文件夹)
3、执行命令(前提保证maven配置正常,使用 mvn -v 命令查看是否正常,如果显示版本号表示正常)
命令说明:
数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏,数据库安全技术之一。
比如我们现在有个user表,含有名字,性别,邮箱,电话号码等字段,但是当查看这些数据时,我们又不希望这些数据被暴露,这时可以对这些数据进行脱敏处理,当然可以根据需要选择哪些字段需要脱敏,然后再输出,至于怎么选择的,是另外一回事了。
cmaedu.com先看下jackson的@JsonSerialize注解。
cmaedu.com @JsonSerialize是jackson提供自定义序列化方法的注解,它有个using 属性,指定自定义序列化的执行类;
例如:
cmaedu.com 先自定义一个序列化类
cmaedu.com @JsonSerialize注解的Java类示例
cmaedu.com 我们知道,springMVC是通过jackson这个序列化框架,当响应头的Content-Type是application/json;charset=UTF-8时,对返回的vo转换为json对象;所以,利用jackson的注解,这样就可以实现脱敏,下面我们对这个注解做一层封装。
1.自定义序列化类,每当有需要脱敏的字段,例如,人名,邮箱,手机号等等,我们就创建一个这样的类,主要是制定一种脱敏的规则。
2.定义脱敏注解
cmaedu.com @JacksonAnnotationsInside 表示将注解捆绑;当我们在字段注解@EmailDesensitize ,等价于@JsonSerialize(using = EmailDesensitization.class);
Symbol类
cmaedu.com 3.vo字段加注解
4.测试
cmaedu.com 5.结果
{"name":"强强","someEmail":"13********@qq.com"}
cmaedu.com直接告诉你朋友你知道的消息呀!他可能忘记账户名,但是邮箱号的话应该能够联想起来一点什么吧。如果是和身份证绑定了的话,那么可以通过联系客服找回原来的用户名。
为什么我的电脑进一些要登陆的网站就上不了呢?邮箱都登陆不了,好苦喔... 有多台电脑的朋友,可以用别的电脑替换,替换的电脑不要装任何代理服务器软件,也不要装任何防火墙,并且只装一个网卡直接和ADSLM...
深圳中信银行信用卡客服 电子邮箱:8009995558@citicib.com.cn客服电话:800-999-5558邮寄地址:深圳市罗湖区笋岗路12号中民时代广场B座32楼邮政编码:51802940...
请问谁有河池市天峨县中医院完整介绍? 天峨县中医院地址设在素有“六乡之誉”的河池市,广西 河池 六排镇新建街057号,院长是黄元明,主要经营从事医疗工作,于1989年12月5日在河池工商局登记注册挂牌...
博世上海总部容易进吗 1、博世是一家国际知名的工业技术公司,其中国家总部位于上海,并在全国范围内设有多个研发、生产和销售基地。2、招。上海博世招聘信息显示,博世分公司很多,上海、无锡、苏州、杭州、成都...
如何查看企业邮箱? 1、公司名称+Google找邮箱 在知道公司名称的情况下,我们可以通过谷歌来找客户邮箱,一般我们用“公司名称+email”在谷歌上进行搜索,搜索出来之后可以点开确定,如果是目标客户...
请问理光客服电话号码是多少? 理光客服电话:投诉电话:800-820-3121投诉电话:400-888-3121以上信息经过百度安全认证,可能存在更新不及时,请以官网信息为准官网客服信息请点击:谁有理...