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

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

开发者学堂课程【大数据实战项目:反爬虫系统(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

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

相关文章
|
2月前
|
JavaScript 前端开发
在url中取ip或者键值对、手机号脱敏、电话号脱敏、身份证脱敏、银行卡号脱敏、身份证校验
本文提供了JavaScript代码示例,用于从URL中提取IP地址、键值对,以及对手机号、电话号码、身份证号和银行卡号进行脱敏处理,还包含了身份证号的校验方法。
55 0
|
5月前
|
数据处理 数据安全/隐私保护
JeecgBoot 中如何对敏感信息进行脱敏处理?
数据脱敏即将一些敏感信息通过加密、格式化等方式处理,展示给用户一个新的或是格式化后的信息,避免了敏感信息的暴露。
58 1
|
6月前
|
算法 大数据 数据挖掘
数据脱敏技术
【4月更文挑战第24天】数据脱敏可以划分为静态数据脱敏(Static Data Masking, SDM)和动态数据脱敏(Dynamic Data Masking, DDM)技术。
|
安全 算法 大数据
数据脱敏,顾名思义就是对敏感数据进行变形处理
数据脱敏,顾名思义就是对敏感数据进行变形处理
155 2
|
机器学习/深度学习 存储 算法
数据分类分级-敏感图片识别
本文将介绍我们在证件、票据类敏感图片识别中的一些洞察,以及对上述问题的原创性的解决方案,以帮助企业合法合规、低成本的解决敏感图片识别的难题。在本文第二部分,我们将回顾一些相关的机器视觉(CV)技术。第三部分我们将介绍我们的做法以及达到的效果。
306 1
|
前端开发 数据处理 数据安全/隐私保护
【项目数据优化一】敏感数据脱敏处理
【项目数据优化一】敏感数据脱敏处理
460 1
|
Java 关系型数据库 MySQL
数据脱敏的 3 种常见方案,好用到爆!
数据脱敏的 3 种常见方案,好用到爆!
762 0
数据脱敏的 3 种常见方案,好用到爆!
|
存储 SQL 算法
数据脱敏技术与应用
数据脱敏技术与应用
数据脱敏技术与应用
|
数据采集 消息中间件 算法
数据预处理-数据脱敏-需求及实现思路|学习笔记
快速学习数据预处理-数据脱敏-需求及实现思路
515 0
数据预处理-数据脱敏-需求及实现思路|学习笔记
|
数据采集 大数据 开发者
数据预处理—数据清洗—数据过滤功能代码|学习笔记
快速学习数据预处理—数据清洗—数据过滤功能代码
346 0
数据预处理—数据清洗—数据过滤功能代码|学习笔记