数据预处理-数据脱敏总结|学习笔记

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 快速学习数据预处理-数据脱敏总结

开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop 框架搭建)第三阶段数据预处理-数据脱敏总结】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/671/detail/11650


数据预处理-数据脱敏总结


内容介绍:

一、脱敏思路

二、关键代码

回顾整体的实现思路,脱敏的目的:数据中含有身份证号码,手机号码等敏感信息,为防止数据泄露,需将敏感进行加密操作。


一、脱敏思路

先把数据读过来,然后获取到身份证号或者是手机号的正则表达式。用正则去匹配数据,匹配出有可能是手机或者是身份证号的数据。拿到每一个数据的时候,都得判断它,因为正则匹配出来的,不一定百分百是,接下来就判断它一定是一个手机号码。有两种情况,一种情况是前面一位数字手机号的第一位,不是数字,并且手机号码最后一位的后面它也不是数字,两种情况如:abc18611577667def

Abcdef18611577667

W18611577667d23

判断出一定是手机号以后,加密后的数据去替换原始的数据。身份证号脱敏实际上和手机号脱敏的思路是一模一样,不同之处在于两个数据的正则表达式不一样,且身份证号码的长度是18位,手机号码的长度是11位。


二、关键代码

1、获取kafka的数据

2、获取手机号和身份证号码的正则表达式

valphonePattern=Pattern.compile("((13[0一

9])1(14[517])1(15([0一3]1[5一91]))1(17[0一9])1(18[0,5一9])\d{8}")

3、使用正则匹配数据获取出有可能是手机号的数据

valphones=phonePattern.matcher(encryptedData)

4、判断出一定是手机号的数据

4.1、手机号码前一个位置不是数字,并且后一位也不是数字,那么表示这个一定是手机号

4.2、手机号码前一个位置不是数字,并且手机号码是一条数据中的最后一个数据,那么表示这个一定是手机号

5、确定出是手机号后,将手机号加密,替换原始的数据

//3判断出一定是手机号的数据

//3-1手机号码用一个位置不是数字,并且手机号码是一条数据中的最后一个数据,那么表示这个一定是手机号

if(!befLettermatches("A[0一9]$")){

//若手机号的最后一位后面的角标大于数据的总长度那么表示这个手机号是数据的最后一位

ifCaftIndex>encryptedoata.length){

//确定出是手机号后,将手机号加密,替换原始的數据

encryptedData=encryptedData.replace(phone,md5,getMD5ofstr(phone))

}e1se{//表示数据不是最后一位

//3-2手机号码前一个位置不是数字,并且后一位也不是数字,那么表示这个一定是手机号

//获取到手机号码最后一位数字后面一位的字符

Val aftLetter=encryptedData.charAt(aftIndex).tostring

if(laftLetter。matches("A[0一9]$")){

//确定出是手机号后,将手机号加密,曹换原始的数据

encryptedData=encryptedData.replace(phone,nd5.getMD5ofstr(phone))

}

身份证号的脱敏:和我们前面的手机脱敏一模一样,只不过这俩正则和长度不一样,其他的都是一样的。

相关文章
|
4月前
|
机器学习/深度学习 数据采集 数据挖掘
【机器学习】数据清洗之处理缺失点
【机器学习】数据清洗之处理缺失点
176 1
|
4月前
|
数据采集 机器学习/深度学习 存储
【机器学习】数据清洗之识别缺失点
【机器学习】数据清洗之识别缺失点
49 1
|
4月前
|
数据采集 数据可视化 数据挖掘
数据清洗有什么方式
数据清洗有什么方式
|
16天前
|
数据采集 数据可视化 数据挖掘
如何进行有效的数据清洗?
如何进行有效的数据清洗?
46 3
|
16天前
|
数据采集 存储 数据可视化
数据清洗
数据清洗
28 1
|
1月前
|
数据采集 机器学习/深度学习 测试技术
数据清洗与过滤中,如何确定哪些数据是高质量的?
数据清洗与过滤中,如何确定哪些数据是高质量的?
|
4月前
|
数据采集 监控 数据挖掘
提高数据清洗效果的关键
【4月更文挑战第2天】提高数据清洗效果的关键
34 2
|
4月前
|
数据采集 Python
数据清洗是数据预处理的重要步骤
数据清洗是数据预处理的重要步骤
60 0
|
数据采集 消息中间件 算法
数据预处理-数据脱敏-需求及实现思路|学习笔记
快速学习数据预处理-数据脱敏-需求及实现思路
496 0
数据预处理-数据脱敏-需求及实现思路|学习笔记
|
数据采集 大数据 数据安全/隐私保护
数据预处理-数据脱敏-身份证脱敏代码|学习笔记
快速学习数据预处理-数据脱敏-身份证脱敏代码
636 0
数据预处理-数据脱敏-身份证脱敏代码|学习笔记