Java 数据处理 - 身份证号和手机号脱敏
身份证号和手机号脱敏1、基本介绍身份证号脱敏保留前 6 位和后 4 位中间用*号代替# 例如 110105********1234手机号脱敏保留前 3 位和后 4 位中间 4 位用*号代替# 例如 138****56782、具体实现身份证号脱敏publicstaticStringdesensitizeIdCard(StringidCard){if(idCardnull||idCard.isEmpty()){returnidCard;}// 去除空格idCardidCard.trim();intlengthidCard.length();// 长度小于等于 10 位时直接返回原值实际身份证号至少 15 位if(length10){returnidCard;}StringprefixidCard.substring(0,6);StringsuffixidCard.substring(length-4);intstarCountlength-10;returnprefix*.repeat(starCount)suffix;}手机号脱敏publicstaticStringdesensitizePhone(Stringphone){if(phonenull||phone.isEmpty()){returnphone;}phonephone.trim();intlengthphone.length();// 长度小于 7 位时直接返回原值if(length7){returnphone;}Stringprefixphone.substring(0,3);Stringsuffixphone.substring(length-4);intstarCountlength-7;returnprefix*.repeat(starCount)suffix;}3、具体实现兼容 Java 11 以下版本privatestaticStringrepeatChar(charc,intcount){if(count0){return;}StringBuildersbnewStringBuilder(count);for(inti0;icount;i){sb.append(c);}returnsb.toString();}身份证号脱敏publicstaticStringdesensitizeIdCard(StringidCard){if(idCardnull||idCard.isEmpty()){returnidCard;}// 去除空格idCardidCard.trim();intlengthidCard.length();// 长度小于等于 10 位时直接返回原值实际身份证号至少 15 位if(length10){returnidCard;}StringprefixidCard.substring(0,6);StringsuffixidCard.substring(length-4);intstarCountlength-10;returnprefixrepeatChar(*,starCount)suffix;}手机号脱敏publicstaticStringdesensitizePhone(Stringphone){if(phonenull||phone.isEmpty()){returnphone;}phonephone.trim();intlengthphone.length();// 长度小于 7 位时直接返回原值if(length7){returnphone;}Stringprefixphone.substring(0,3);Stringsuffixphone.substring(length-4);intstarCountlength-7;returnprefixrepeatChar(*,starCount)suffix;}

相关新闻

告别云端依赖:这款离线音频转录工具如何让语音转文字变得简单又安全?

告别云端依赖:这款离线音频转录工具如何让语音转文字变得简单又安全?

告别云端依赖:这款离线音频转录工具如何让语音转文字变得简单又安全? 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending…

2026/7/21 21:35:38阅读更多 →
Rust进入TIOBE前十:系统编程语言的技术优势与应用

Rust进入TIOBE前十:系统编程语言的技术优势与应用

1. Rust进入TIOBE前十的技术背景分析 2023年7月,Rust首次进入TIOBE编程语言排行榜前十名,这标志着这门系统级编程语言在开发者社区和工业界获得了前所未有的认可。作为一门2010年才首次发布的相对年轻的编程语言,Rust能在短短十余年间取得这样…

2026/7/21 21:33:37阅读更多 →
Git 仓库敏感信息审计实战:gitleaks 全历史扫描 + 人工补充核查

Git 仓库敏感信息审计实战:gitleaks 全历史扫描 + 人工补充核查

适用场景 01-CICD安全.md 讲的是"怎么在 CI 流水线里配置 gitleaks 做增量扫描"(新 commit 触发检查)。 本文讲的是另一个场景:对一个已经存在的仓库做一次性的历史审计——比如接手一个老仓库、 要把私有仓库开源、或者单纯想确认"这个仓库的提交记录里有没…

2026/7/21 21:33:37阅读更多 →
draw.io桌面版终极指南:完全免费的跨平台图表工具

draw.io桌面版终极指南:完全免费的跨平台图表工具

draw.io桌面版终极指南:完全免费的跨平台图表工具 【免费下载链接】drawio-desktop Official electron build of draw.io 项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop 还在为昂贵的图表软件发愁吗?想要一款真正免费、功能强…

2026/7/22 0:31:26阅读更多 →
HarmonyOS应用开发实战:小事记 - @Link 与 @Prop 双向同步:父子组件状态协调的深层原理

HarmonyOS应用开发实战:小事记 - @Link 与 @Prop 双向同步:父子组件状态协调的深层原理

前言 在 ArkUI 中,Link 和 Prop 都用于父子组件间的数据传递,但它们的同步方向和使用场景不同。Prop 是单向的(父 → 子),而 Link 是双向同步的。本文以小事记(xiaoshiji_ohos_app) 的组件扩展…

2026/7/22 0:31:26阅读更多 →
台湾阳明交通大学攻克事件相机视频重建难题

台湾阳明交通大学攻克事件相机视频重建难题

这项由台湾阳明交通大学多位研究人员联合完成的研究,发表于2026年7月的SIGGRAPH Conference Papers(会议时间为2026年7月19日至23日,在美国洛杉矶举行),论文编号为DOI 10.1145/3799902.3811151,arXiv编号26…

2026/7/22 0:29:26阅读更多 →
当AI开始“懂病“:伊斯法罕医科大学打造会“对症下药“的分子设计师

当AI开始“懂病“:伊斯法罕医科大学打造会“对症下药“的分子设计师

这项由伊斯法罕医科大学再生医学研究中心、伊斯法罕神经科学研究中心、药物化学系、心血管研究中心、遗传与分子生物学系及生物信息学研究中心联合开展的研究,于2026年7月9日以预印本形式发布于arXiv平台,编号为arXiv:2607.08404。感兴趣的读者可通过该编…

2026/7/22 0:29:26阅读更多 →
ETH苏黎世揭秘:当AI的“记忆“变得更聪明

ETH苏黎世揭秘:当AI的“记忆“变得更聪明

这项由ETH苏黎世计算机科学系与ETH AI中心联合开展的研究,于2026年7月发表,论文编号为arXiv:2607.07953。有兴趣深入了解的读者可以通过该编号在arXiv平台上查阅完整论文。**每一次阅读,都是一场记忆的挑战**每当你打开一本厚厚的书&#xff…

2026/7/22 0:29:26阅读更多 →
drm_pagemap 迁移路径与 mmap_lock / PTL 使用分析

drm_pagemap 迁移路径与 mmap_lock / PTL 使用分析

本文分析 drivers/gpu/drm/drm_pagemap.c 中 device-private 内存迁移的实现,重点说明两条 “迁回系统内存 (to RAM)” 路径在 CPU 页表保护 上的差异: fault 路径 __drm_pagemap_migrate_to_ram()(CPU page fault 触发) eviction 路径 drm_pagemap_evict_to_ram()(驱动主动腾显…

2026/7/22 0:29:26阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/21 0:51:49阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 0:51:49阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/21 0:51:49阅读更多 →
中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业做小程序,最常见的矛盾是预算有限,但又不希望功能太单薄;没有技术团队,但又希望后续能自己运营;想快速上线,又担心隐性收费和售后失联。选型时如果只看“低价套餐”或“案例数量”,很容…

2026/7/22 0:01:17阅读更多 →
GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

企业做营销,最怕钱花完了,资产没有留下。 效果广告能带来一段时间的曝光,但预算停止后,流量往往也随之停止。短视频内容可能在几天内冲高,也可能很快沉下去。AI搜索时代,企业需要重新思考一个问题&#xff…

2026/7/22 0:01:17阅读更多 →
Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复 一、你的 Agent 在"再想想"的循环里绕了 12 轮,用户已经关窗口了 Agent 与人最大的区别是:人知道什么时候该停下来给答案,Agent 会一直"想"下去。你给 Agent 接…

2026/7/22 0:01:17阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/21 22:53:50阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/21 18:53:30阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/21 18:53:30阅读更多 →