当前位置: 首页 > news >正文

java处理中文脱敏

方法一,简单的,不计算文字长度去设置脱敏

public static String dataDesensitization1(String content){String regex = "(.{2}).*(.{2})";return ReUtil.replaceAll(content, regex, matcher -> {try {if (CharSequenceUtil.isBlank(matcher.group())) {return "";}String start = matcher.group(1);String end = matcher.group(2);return start + "****" + end;} catch (Exception e) {return "";}});}

方法二,计算长度,取头尾三个文字,其余为**

return ReUtil.replaceAll(content, "(?<=.{2}).*(?=.{2})", matcher -> {try {if (CharSequenceUtil.isBlank(matcher.group())) {return "";}String middle = matcher.group();String desensitizedMiddle = ""; // 脱敏后的中间部分for (int i = 0; i < middle.length(); i++) {// 遍历中间部分的每个字符,只保留第一个和最后一个字符,其他用 "*" 代替if (i == 0 || i == middle.length() - 1) {desensitizedMiddle += middle.charAt(i);} else {desensitizedMiddle += "*";}}return desensitizedMiddle;} catch (Exception e) {return "";}});

一些其他的正则

PHONE = "((13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8})";
ID_CARD_FIFTEEN = "([1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{2}[0-9Xx])";//15位身份证
ID_CARD_EIGHTEEN = "([1-9]\\d{5}\\d{4}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx])";//18位身份证

http://www.lryc.cn/news/355502.html

相关文章:

  • 【Linux网络】端口及UDP协议
  • Unity 生成模版代码
  • 【ai】chatgpt的plugin已经废弃
  • 2024年03月 Python(四级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 多旋翼无人机机场考哪些内容?
  • 【前端每日基础】day23——箭头函数
  • 27.Java中单例模式的实现方式
  • C#面:当一个线程进入一个对象的方法后,其它线程是否可以进入该对象的方法?
  • express框架下后端获取req.body报错undefined
  • Element plus 低版本弹窗组件添加拖拽功能
  • 计算机组成原理易混淆知识点总结(持续更新)
  • 【STM32踩坑】HAL固件库版本过高导致烧录后无法运行问题
  • 芯片丝印反查
  • C语言之指针详解(5)(含有易错笔试题)
  • discuzX2.5的使用心得 札记一
  • 【Python】 探索Django框架的高并发处理能力
  • C-数据结构-平横二叉树
  • 算法训练营day41
  • cesium开发实例分享
  • 字符串和字符串函数(1)
  • 基于springboot+vue的班级综合测评管理系统
  • 蓝海项目揭秘:跨境选品师的崛起与挑战
  • 酷黑简洁大气体育直播自适应模板赛事直播门户网站源码
  • 2024年电工杯高校数学建模竞赛(B题) 建模解析| 大学生平衡膳食食谱的优化设计
  • 学习编程对英语要求高吗?
  • 使用 Django 和 RabbitMQ 构建高效的消息队列系统
  • Pycharm常见问题1
  • 开发一个comfyui的自定义节点
  • Prime算法构造最小生成树(加点法)
  • 【VTKExamples::Utilities】第五期 CommandSubclass