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

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

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

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

相关文章
|
存储 缓存 达摩院
企查查基于阿里云Elasticsearch 在复杂检索场景中的性能优化
本文分享企查查基于阿里云Elasticsearch 在复杂检索场景中的性能优化。
2049 0
|
前端开发
914.【前端】Taro集成towxml渲染markdown文档
914.【前端】Taro集成towxml渲染markdown文档
1714 2
|
网络协议 数据安全/隐私保护 Web App开发
|
11月前
|
人工智能 关系型数据库 数据库
公募REITs专属AI多智能体查询分析项目
公募REITs专属AI多智能体查询分析项目。本项目是基于 OpenAI Agent 框架的多智能体项目,提供二级市场数据查询分析、招募说明书内容检索、公告信息检索、政策检索等多板块查询服务。支持图标绘制、文件生成。
公募REITs专属AI多智能体查询分析项目
抖音抢拍神器app, 直播间抢购神器,抢单加速器永久免费版
这是一款针对抖音直播间秒杀抢购的辅助软件源码,可帮助用户在多人同时抢购时提高成功率。功能包括自定义抢拍数量、速度及定时设置,通过模拟点击实现商品购买流程。
|
JSON 搜索推荐 API
小红书商品列表 API 接口(小红书 API 系列)
小红书作为社交与电商结合的平台,拥有丰富的商品信息。通过小红书商品列表API接口,用户可高效、合法地获取商品数据,支持按关键词、品类等筛选条件查询,并返回JSON格式的商品列表,包含名称、图片链接、价格等信息。该接口帮助商家分析市场、制定策略,开发者构建推荐系统。示例代码展示了如何使用Python发送HTTP请求并处理响应数据。
|
SQL 关系型数据库 MySQL
docker-compose部署mysql8
使用docker-compose容器化部署mysql8
1246 7
|
SQL 分布式计算 Ubuntu
【Hive】Hive开启远程连接及访问方法
【Hive】Hive开启远程连接及访问方法
5125 0
|
人工智能 自然语言处理 搜索推荐
🤖【多Agent大爆炸】——灵活调用与实践指南,解锁AI协作新技能!
本文深入探讨了单Agent与多Agent在不同场景下的应用及优势,通过实例讲解多Agent如何实现高效协作,涵盖智能物流、教育、医疗等多个领域的实际应用,旨在帮助开发者掌握多Agent系统的调用与实践技巧。
1769 5
|
机器学习/深度学习 人工智能 测试技术
探索 AI 驱动的软件开发:未来技术的新趋势
【10月更文挑战第19天】本文探讨了人工智能(AI)在软件开发中的应用现状和技术优势,包括代码生成、缺陷检测、自动化测试和性能优化。AI 可以提高开发效率、减少人为错误、加速创新并持续学习。文章还讨论了实施 AI 驱动开发的挑战和最佳实践,强调了数据管理和技能培训的重要性。