**敏感信息处理包括:

         /*要考虑到证件号是否为身份证号或者学生证,因为数字位数不同全部按身份证的方式托面,第三位至最后四位都进行脱敏操作*/1.证件号非空时第3位到第14位显示时以*号代替2.移动电话非空时第2位-第7位显示时以*号代替3.手机号非空时将中间数字进行脱敏4.邮箱非空时除前3位其他以*处理**

编码书写

 userinfo //用户对象CertificateNo //证件号Email //邮箱Mobile //移动电话Telephone //电话号private Userinfo getUserinfoDesensitize(Userinfo userinfo){//*符号个数String star = "";//证件号码if(userinfo.getCertificateNo()!=null&&!("".equals(userinfo.getCertificateNo()))){int CertificateNoLength = userinfo.getCertificateNo().length();//获取当前的证件号码的长度for (int i = 0; i < CertificateNoLength-7; i++) {//获取*的长度,因为前三位和最后四位不需要脱敏,所以长度-7star += "*";}//取最后四位//总长度-(总长度-(总长度-需要脱敏的位数)-开头不要需要脱敏的长度)//这个获取的就时末尾不需要脱敏的位数,因为证件号长度不确定,所以需要动态获取int four = CertificateNoLength - (CertificateNoLength-(CertificateNoLength-7)-3);userinfo.setCertificateNo(userinfo.getCertificateNo().substring(0,3)+star+userinfo.getCertificateNo().substring(four,CertificateNoLength));star = "";//最后将符号清空,便于下一个字段使用}//邮箱if(userinfo.getEmail()!=null&&!("".equals(userinfo.getEmail()))){int emailLength = userinfo.getEmail().length()-3;for (int i = 0; i < emailLength; i++) {star += "*";}userinfo.setEmail(userinfo.getEmail().substring(0,3)+star);star = "";}//移动电话if(userinfo.getMobile()!=null&&!("".equals(userinfo.getMobile()))){//正则表达式 进行脱敏第一位不需要脱敏 中间六位需要脱敏 最后四位不需要脱敏//中间的*符号我这个是写死的,不管多少位数字,只显示六位 * userinfo.setMobile(userinfo.getMobile().replaceAll("(\\d{1})\\d{6}(\\w{4})","$1******$2"));}//电话号码if(userinfo.getTelephone()!=null&&!("".equals(userinfo.getTelephone()))){int telePhoneLength = userinfo.getTelephone().length();//获取最后三位的位置int three = telePhoneLength-(telePhoneLength-(telePhoneLength-3)-1);for (int i = 0; i < telePhoneLength; i++) {star += "*";}userinfo.setTelephone(userinfo.getTelephone().substring(0,3)+star+userinfo.getTelephone().substring(three,telePhoneLength));star = "";}return userinfo;}

java中对数据进行脱敏操作(证件号,手机号,移动电话,邮箱)相关推荐

  1. Java从入门到精通——数据库篇之JAVA中的对Oracle数据库操作

    在Java中对Oracle数据库的操作分为两种:一.查询.二.非查询. 下面是我对其进行总结: 一.查询数据 /** * 根据用户代码查询* @param userId* @return 如果存在返回 ...

  2. 第69节:Java中数据库的多表操作

    第69节:Java中数据库的多表操作 前言 学习数据库的多表操作,去电商行业做项目吧!!! 达叔,理工男,简书作者&全栈工程师,感性理性兼备的写作者,个人独立开发者,我相信你也可以!阅读他的文 ...

  3. java mysql单库多表_第69节:Java中数据库的多表操作

    第69节:Java中数据库的多表操作 前言 学习数据库的多表操作,去电商行业做项目吧!!! 达叔,理工男,简书作者&全栈工程师,感性理性兼备的写作者,个人独立开发者,我相信你也可以!阅读他的文 ...

  4. java中有关文件流的操作

    文件流: 顾名思义,程序和文件打交道. 此时我们谈及的文件,值得是纯文本文件(txt的,不要使用Word,Excel), 在字节流中,暂时不要使用中文. FileInputStream: 文件的字节输 ...

  5. mongo java 注解,在Java中使用Spring Data MongoDB操作Mong | zifangsky的个人博客

    前言:在上一篇文章中(PS:https://www.zifangsky.cn/923.html)我简单介绍了如何在Linux中安装MongoDB以及MongoDB的增删改查等基本命令用法(PS:更多M ...

  6. 如何查询MySQL表中的数据,这些操作你得明白!

    前言 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对于INNER JOIN(内连接).LEFT JOIN(左连接).RIGHT JOIN(右连接)等一些复杂查询. 通过本节的学习,可 ...

  7. java连接本地数据库命令_Java操作数据库时一次连接只能执行一条SQL命令

    Java操作数据库时一次连接只能执行一条SQL命令 答:× 全面深化改革要攻坚涉险,必须坚持正确的思想方法,不断探索和把握全面深化改革的内在规律,特别是要把握和处理好全面深化改革中的等重大关系 答:整 ...

  8. Java中的数据文件

    Java中的配置文件 Java自己的配置文件 – properties properties文件的编写 一般情况下,建议将文件存储在源码文件目录中 他的格式是 键值对 如:age=18 特别注意,不能 ...

  9. 利用redis缓存对 list集合中的数据 进行分页操作(一)

    先说 存储的结构: 这里做了两块缓存  绿色是存储索引的缓存  黑色是存数据的缓存 翻页时需要两个参数  向上查询/或向下查询    还一个是   从第二页开始查询时需要一个索引的参数 有了这两个参数 ...

最新文章

  1. python3.7.4安装教程桌面_Python 3.7.4 for Windows的安装
  2. 团队-团队编程项目作业名称-模块测试过程
  3. 破解百度网盘的Pandownload开发者被捕,让人唏嘘
  4. ue4导入倾斜摄影_倾斜摄影建模干货|还怕搞不定CC空三?这里只要5分钟……
  5. 有关计算机组成原理知识的论文,关于计算机组成原理的论文_计算机组成原理_图灵机的组成...
  6. python解包的概念_Python学习第176课——tar解包和压缩
  7. Fatal Error[Pe1696]:cannot open source file “sys.h”
  8. python call agilent com_PyVISA通过RS232(USB)与安捷伦34970A通信时出现超时错误
  9. 鸿蒙os硬件要求,华为公布鸿蒙OS 2.0硬件安装要求:只要128K内存就能跑
  10. php 微信分享链接怎么弄,PHP实现 微信--分享朋友链接
  11. Openlayer 3 最简单的弹出框
  12. javascript设计模式 ---序
  13. MemSQL分布式架构介绍(二)
  14. CentOS7.5 怎么修改默认SSH端口号
  15. 不会写原创文章,在线洗稿软件能处理吗
  16. 【kubernetes/k8s概念】CNI详解
  17. QQ群发消息怎么发?最全攻略分享
  18. 风火牙疼,紧急止痛、快速治疗的真实历程
  19. 电脑安装win10系统
  20. 【19调剂】北京语言大学 智能语音习得技术实验室 -调剂信息

热门文章

  1. 视通科技车载应急指挥调度解决方案
  2. PFC2D学习笔记——颗粒生成
  3. 人工智能技术应用就业方向及前景
  4. Android Studio3.0没有Launch Standalone SDK Manager
  5. google chrome支持建行网银
  6. 杏花岭教师招聘计算机真题,杏花岭2015年小学教师招聘考试真题及答案解析【完整word版】...
  7. Android直播实现(一)Android端推流、播放
  8. 淘宝商品历史价格接口/商品历史价走势接口代码对接分享
  9. Python之禅+八荣八耻
  10. 上传大文件解决方案插件