数据预处理-数据脱敏-身份证脱敏代码|学习笔记

简介: 快速学习数据预处理-数据脱敏-身份证脱敏代码

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

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


数据预处理-数据脱敏-身份证脱敏代码


内容介绍:

一、手机脱敏的实际的效果

二、实现身份证号码脱敏

三、身份证脱敏的实际的效果


一、手机脱敏的实际的效果

在程序当中,这个是手机脱敏的调用,该接收处理完的结果。如下图前面垫一个 val 类型的加密手机的一个变量来进行接收过来的数据,就是脱敏后的数据。再做一个返回,接收过的时候直接返回就返到 map里面,然后用 Data process 接收,接收完下面 data process 做了一个输出 println。

Val Data process = FilteredData.map(message=>{

//3 数据脱敏功能

//3-1手机号脱敏

Val encryptedPhone = EncryptedData.encryptedPhone

(message)

encryptedPhone

//3-2身份证号码脱敏

})

Data process .foreach(println)

接下来直接实执行这个代码。代码执行的时候可以看到,前面数据清洗的时候做了一个输出,后面这里又做了个经过脱敏的输出,而原本是没经过脱敏的,会输出两个。执行程序,没有报错。

爬虫跑起来之前看一下手机号码,为了比较好查找手机号,给手机号后面加了一个后缀,就是 CCC,find 手机号码是18611577667,打到程序里边,程序里面采集数据就能够拿到这个号码,接下来有一个原敏输出,有一个脱敏输出。

看有没有脱敏,把爬虫跑一下,右键直行。跑几遍把它关了,能看到数据就行。找一下 Ccc 已经进行了加密,find ccc一个是明文的,后一个是加密的,代码当中数据清洗完以后的是明文的,清洗完经过加密以后的就是密文的了,再往后一一对应就是数据脱敏的代码效果。

把实际的代码关掉以后重新跑一下,看效果。这一次跑出来的结果应该全部都是加密以后的数据。跑一下爬虫右键直行跑几遍关掉。关掉看数据找到的 CCC 都进行加密了没有明文的。


二、实现身份证号码脱敏

身份证号码脱敏思路和手机号码的思路一模一样,正则表达式还有偏移的量,手机号码是11身份证号码是18,其他的都一样。所以身份证号码脱敏快速的把手机号码的粘过来。身份证号码加密调过来,有一点需要注意的地方是手机号码脱敏,传递的是 message,还是手机号加密以后的数据?如果传的是 message,把 message 加密了以后你message 里面的身份证号加密了,但是手机号没加密,或者存在手机号加密了,但身份证号还没加密。身份证号是在 a 和 b 之间,find bbb,aaa 和 bbb 之间有不知道某个人的身份证号码需要加密。

image.png

要想让两个数据都加密,把手机号加密以后的数据直接塞给的程序,让程序自动的先加密码手机号再去加密身份证号码,把这两个加密完,再前面做一个接收 val,加密身份证号码,把身份证号码返回,保存。

//3-2身份证号码脱敏

Val encrypedId = EncrypedData.encrypedId (encryptedPhone

)

encrypedId

具体代码把手机号码加密的实现过程直接拷贝,phone 改成 id 不报错。身份证号码的脱敏先把代码改了一会改备注说明。代码接收数据没有问题,md5没有问题,手机号码的正则改身份证号码的正则,代码当中有一个身份证号码的正则。CTRL+c 替换掉手机号码的正则改身份证号码。加密 date 没有问题,手机号的数据改 ids,因为身份证号是每一个人的唯一标识,也类似于数据库里面的 ID 唯一标识,Id 现在有了,Ids 有可能是多个的。这里面先找到一个phone=phones,过滤出来粘贴成 id=ids。找到数据当中身份证号的前一位,和后一位将 phone 改为 id,后面的不是+11,身份证号码是18位要+18,角标字符没有问题。角标的长度大于了数据的长度,它就是身份证号码,身份证号码这里面就不是 iPhone,就是 id.改完以后再检查 find:phone 没有问题后将备注里手机号换成身份证号码,然后再来方便快速用 find 找手机,没有就改完了。实际上身份证号码的脱敏与手机号码的脱敏的思路是一模一样的,只不过这里面正则表达式换成身份证号码的正则,以及身份证号码的位数是18位,手机号是11位,脱敏完以后实际上调用也已经调用完了,把手机脱敏后的数据去脱敏身份证,脱敏完后进行返回,就是手机号码的脱敏的实现过程。


三、身份证脱敏的实际的效果

这个代码写完了,看看身份证号能不能被脱敏掉,同时手机号码也应该被脱敏了,看一下这个效果,把这个程序停掉来重新运行一下这个代码,爬虫跑起来,右键直行,跑完以后先看手机号码是否被脱敏,find ccc,已经被脱敏了

aaa 和 bbb 之间是身份证号码进行脱敏了,如下图:image.png

身份证号码也进行脱敏了,效果已经看到了。

相关文章
|
7月前
|
存储 数据采集 算法
数据分类分级-敏感数据识别工程实践
在《数据分类分级-结构化数据识别与分类的算法实践》这篇文章中讲到了结构化数据识别与分类的算法实践,那么这些算法能力如何以标准产品的方式落地,并帮助客户解决在数据分类分级过程中遇到的各种问题呢?本文将站在工程的视角,结合我们的思考和经验,从整体的大框架上介绍用九智汇数据分类分级产品敏感数据识别技术方案和能力,希望对大家有所帮助,想了解细节的,欢迎通过公众号联系进行线下沟通。
248 1
|
4天前
|
算法 大数据 数据挖掘
数据脱敏技术
【4月更文挑战第24天】数据脱敏可以划分为静态数据脱敏(Static Data Masking, SDM)和动态数据脱敏(Dynamic Data Masking, DDM)技术。
|
6月前
|
安全 算法 大数据
数据脱敏,顾名思义就是对敏感数据进行变形处理
数据脱敏,顾名思义就是对敏感数据进行变形处理
52 2
|
7月前
|
机器学习/深度学习 存储 算法
数据分类分级-敏感图片识别
本文将介绍我们在证件、票据类敏感图片识别中的一些洞察,以及对上述问题的原创性的解决方案,以帮助企业合法合规、低成本的解决敏感图片识别的难题。在本文第二部分,我们将回顾一些相关的机器视觉(CV)技术。第三部分我们将介绍我们的做法以及达到的效果。
177 1
|
11月前
|
前端开发 数据处理 数据安全/隐私保护
【项目数据优化一】敏感数据脱敏处理
【项目数据优化一】敏感数据脱敏处理
359 1
|
Java 关系型数据库 MySQL
数据脱敏的 3 种常见方案,好用到爆!
数据脱敏的 3 种常见方案,好用到爆!
652 0
数据脱敏的 3 种常见方案,好用到爆!
|
数据采集 大数据 数据安全/隐私保护
数据预处理-数据脱敏-手机号码脱敏代码|学习笔记
快速学习数据预处理-数据脱敏-手机号码脱敏代码
444 0
|
存储 SQL 算法
数据脱敏技术与应用
数据脱敏技术与应用
数据脱敏技术与应用
|
数据采集 消息中间件 大数据
数据预处理-数据脱敏总结|学习笔记
快速学习数据预处理-数据脱敏总结
252 0