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/24 9:01:41 阅读更多 →
SGLang框架下DeepSeek-V4大模型部署与优化实践

SGLang框架下DeepSeek-V4大模型部署与优化实践

1. 项目概述:SGLang与DeepSeek-V4的技术融合在自然语言处理领域,模型部署和优化一直是工程实践中的核心挑战。最近在青稞社区的技术分享中,关于在SGLang上部署和优化DeepSeek-V4的讨论引起了广泛关注。作为一名长期从事大模型部署的工程师&am…

2026/7/24 0:44:03 阅读更多 →
UE5集成LoRA模型实战:打造智能NPC与动态叙事系统

UE5集成LoRA模型实战:打造智能NPC与动态叙事系统

1. 项目概述:当UE5遇见LoRA,一场创意与效率的化学反应如果你是一位游戏开发者、影视动画师,或者任何一位需要与3D数字内容打交道的创作者,那么“效率”和“个性化”这两个词,一定是你工作流中永恒的痛点。渲染一帧高质…

2026/7/24 4:48:17 阅读更多 →

最新新闻

多线程改造Il2CppDumper:大幅提升Unity逆向分析效率实战

多线程改造Il2CppDumper:大幅提升Unity逆向分析效率实战

1. 项目概述:为什么我们需要多线程的Il2CppDumper?如果你在Unity逆向这个圈子里摸爬滚打过一段时间,尤其是在面对那些使用il2cpp后端编译的现代手游或应用时,Il2CppDumper这个工具的名字你一定不陌生。它几乎是所有逆向工程师打开…

2026/7/24 9:02:58 阅读更多 →
LM96194硬件监控芯片实战:负压监测电路设计与SMBus通信避坑指南

LM96194硬件监控芯片实战:负压监测电路设计与SMBus通信避坑指南

1. 项目概述:从芯片手册到可落地的硬件监控方案在服务器主板、工控设备乃至高端PC的设计中,硬件监控系统是确保系统稳定运行的“神经末梢”。它需要实时、精确地感知CPU电压、各路电源电压、风扇转速以及温度等关键参数,并在异常时及时告警或…

2026/7/24 9:02:58 阅读更多 →
Claude AI编程助手:从编译器错误诊断到代码优化的实战指南

Claude AI编程助手:从编译器错误诊断到代码优化的实战指南

这次我们来看一个很有意思的话题:Claude 不是编译器,但它比编译器更好。如果你经常在编程时遇到编译器错误,或者对 AI 辅助编程工具感兴趣,这篇文章会帮你理解 Claude 在实际开发中的价值。Claude 是 Anthropic 公司开发的 AI 助手…

2026/7/24 9:02:58 阅读更多 →
AI大模型技术解析与程序员转型指南

AI大模型技术解析与程序员转型指南

1. 为什么AI大模型将成为程序员未来5年的核心方向 过去两年,AI大模型技术以惊人的速度重塑着整个技术行业。作为从业十余年的全栈开发者,我亲眼见证了从GPT-3到GPT-4的质变飞跃,以及大模型在各领域的落地应用。这种变革不是昙花一现的热点&am…

2026/7/24 9:02:58 阅读更多 →
SVDD异常检测算法原理与Matlab实现

SVDD异常检测算法原理与Matlab实现

1. 项目概述:SVDD异常检测的核心逻辑SVDD(Support Vector Data Description)是一种基于支持向量机的单分类算法,它的核心目标是在高维特征空间中找到一个最小体积的超球体,使得该球体能够包含尽可能多的正常样本数据点…

2026/7/24 9:02:58 阅读更多 →
MSP430驱动ADS1293代码库解析:低功耗ECG设备开发实战

MSP430驱动ADS1293代码库解析:低功耗ECG设备开发实战

1. 项目概述与核心价值 在便携式医疗电子设备,尤其是心电图监测领域,开发者面临的核心挑战是如何在极致的功耗约束下,实现高精度、高可靠性的生物电信号采集与处理。这不仅仅是选对一颗低功耗的微控制器(MCU)和一颗高性…

2026/7/24 9:01:58 阅读更多 →

日新闻

用Highcharts 创建可拖拽三维散点立方体3D图表

用Highcharts 创建可拖拽三维散点立方体3D图表

该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化,核心特色:三维 X/Y/Z 三轴空间,所有散点分布在 0~10 立方体空间内;散点使用径向渐变实现立体 3D 圆球质感;支持鼠标 / 触屏拖拽画布,…

2026/7/24 0:00:29 阅读更多 →
AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口 AppCertDlls 位于 HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls。本文的程序功能是只读列出这个键在 64 位和 32 位注册表视图中的全部值,并显示每条值的来源、名称、类型和可安全显示的数…

2026/7/24 0:00:29 阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:29 阅读更多 →

周新闻

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

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

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

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

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

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

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

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

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

2026/7/23 17:49:47 阅读更多 →

月新闻