使用kettle及正则对内容中的身份证号做脱敏处理

使用kettle及正则对内容中的身份证号做脱敏处理

按照业务要求,将包含身份证号的内容进行脱敏处理,处理过程中使用正则表达式进行查询和处理。

select REGEXP_COUNT(字段,'[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]')from 表;

统计字段中符合身份证号正则的数量

Select regexp_replace(字段,’^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]’,’’) from 表;

使用正则将身份证号替换为空;

处理中需要将身份证号进行脱敏,并非将身份证号替换为空,需要借助kettle进行处理,kettle样式如下:

1.拼接内容 

通过SQL语句查询出脱敏的身份证号内容,并作为输入内容进行传递。

 

 

 

 

2.字符串替换 

 使用拼接好的脱敏身份证号,将符合正则的内容替换掉,得到出新的字段,将新字段作为脱敏后的结果进行输出

3.表输出

将脱敏后的数据进行输出到表中做下一步处理

测试表输出内容如下

 

 

 

 

 

 

posted @ 2021-11-22 10:01  倾城旧梦  阅读(2297)  评论(0编辑  收藏  举报