首页 > 其他分享 >有关Hutool工具实用技巧-身份证、手机、姓名等脱敏信息验证

有关Hutool工具实用技巧-身份证、手机、姓名等脱敏信息验证

时间:2023-12-15 09:56:31浏览次数:72  
标签:实用技巧 String System Hutool DesensitizedUtil println 脱敏 out

今天给大家介绍关于Hutool工具实用技巧-身份证、手机、姓名等脱敏信息验证。非常实用,且也体现出Hutool工具这个Java类库的强大

场景:在开发系统过程中,经常会接触到大量的数据信息,这些数据信息可能包含身份证号、手机号、姓名、卡号等各种敏感信息。而有些用户需求是不允许,这些敏感信息数据为了保护用户个人信息的安全。对这些数据需要进行特殊处理

数据脱敏,指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。这样就可以在开发、测试和其它非生产环境以及外包环境中安全地使用脱敏后的真实数据集

给大家介绍一个基于hutool的工具类DesensitizedUtil

DesensitizedUtil工具类实现的脱敏数据类型包括以下内容

用户id
中文姓名
身份证号
座机号
手机号
地址
电子邮件
密码
中国大陆车牌,包含普通车辆、新能源车辆
银行卡

用户姓名脱敏:用户姓名脱敏,默认返回姓氏,也就是只返回姓名的第一个字,其他的信息隐藏,数据类型是String类型

举例:

脱敏前:天将降大任于斯人也
脱敏后:天****
//用户姓名
String userName = DesensitizedUtil.chineseName("掘金社区");
System.out.println(userName);
输出结果:掘***

身份证号敏,需要传递三个参数,第一个是身份证号码,第二个是首部需要显示的号码数量,从1开始,第三个是尾部需要显示的号码数量也是从1开始,数据返回类型是String类型

举例:

脱敏前:430452145214515412
脱敏后:4304********5412
//身份证号
String idCardNum = DesensitizedUtil.idCardNum("430452145214515412",4,4);
System.out.println(idCardNum);
输出结果:4304********5412

座机号脱敏后,前四位后两位显示,其他都隐藏,返回数据类型是String类型

举例

脱敏前:010-12345678
脱敏后:010-******78
//座机号
String fixedPhone = DesensitizedUtil.fixedPhone("010-12345678");
System.out.println(fixedPhone);
输出结果:010-******78

手机号脱敏后,前三位,后4位显示,其他都隐藏,返回数据类型是String类型

举例

脱敏前:18612345678
脱敏后:186****5678
//手机号
String mobilePhone = DesensitizedUtil.mobilePhone("18612345678");
System.out.println(mobilePhone);
输出结果:186****5678

地址脱敏,只显示到地区,不显示详细地址,其他都隐藏,可以设置敏感信息长度,返回数据类型是String类型

举例

脱敏前:北京市东城区建国路1000号
脱敏后:北京市东城区建国******
//地址
String address = DesensitizedUtil.address("北京市东城区建国路1000号",6);
System.out.println(address);
输出结果:北京市东城区建国******

电子邮件地址脱敏,只显示到地区,不显示详细地址,其他都隐藏,可以设置敏感信息长度,返回数据类型是String类型

举例

脱敏前:[email protected]
脱敏后:1*****@qq.com
 //电子邮件
String email = DesensitizedUtil.email("[email protected]");
System.out.println(email);
输出结果:1*****@qq.com

密码脱敏,隐藏密码

举例

脱敏前:18612345678
脱敏后:***********
 //密码
String password = DesensitizedUtil.password("18612345678");
System.out.println(password);
输出结果:***********

银行卡号脱敏,隐藏必要的部分

脱敏前:6666669578938888
脱敏后:6666 **** **** 8888
//银行卡号
String bankCard = DesensitizedUtil.bankCard("6666669578938888");
System.out.println(bankCard);
输出结果:6666 **** **** 8888

 

标签:实用技巧,String,System,Hutool,DesensitizedUtil,println,脱敏,out
From: https://www.cnblogs.com/liuyangjava/p/17902710.html

相关文章

  • 一文带你了解LoRa微调语言大模型的实用技巧
    微调定制化的大型语言模型需要投入大量时间和精力,但掌握恰当的微调方法和技巧能显著提高效率。比如用LoRa(LLM的低秩适配Low-RankAdaptation)微调大模型,能够利用少量显卡和时间对大模型进行微调,降低成本。通过矩阵秩的分解,将原始模型的参数分解成两个小的矩阵乘积,仅训练这两个矩阵......
  • sublime实用技巧记录
    一、去除重复行1、先排序,edit-sortlines2、查找目标查找目标为:^(.+)$[\r\n](^\1$[\r\n]{0,1})+替换为:\1\n 二、一次性选中或者删除指定行数之间的数据如果想删除文档里第20001行~第100000行的代码,按以下步骤: 1、选中第100000行(目标代码的结束行数,可按快捷......
  • Jdk升级到1.7后,hutool工具类的很多方法报错解决方案
    报错如下:java.lang.reflect.InaccessibleObjectException:Unabletomakefieldprivatefinaljava.util.Mapsun.reflect.annotation.AnnotationInvocationHandler.memberValuesaccessible:modulejava.basedoesnot"openssun.reflect.annotation"tounnamed......
  • hutool 工具 map 转驼峰
    Map工具-MapUtilhttps://www.tabnine.com/code/java/methods/cn.hutool.core.map.MapUtil/toCamelCaseMapHowtousetoCamelCaseMapmethodincn.hutool.core.map.MapUtilBeanUtil.fillBeanWithMap(...)/***使用Map填充Bean对象**@param<T>Bean类型*@parammapMa......
  • SpringBoot集成hutool配置定时任务,支持crontab和quartz表达式
    1、pom.xml引入hutool<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>修改version</version></dependency>2、Java文件packagecom.xxx.schedule;importcn.hutool.cron.CronUtil......
  • hutool 使用 TreeUtil 查询树型结构
    之前写过一篇用stream流实现查询树型结构的文章,现在以hutool中的TreeUtil再来实现一次,之前的帖子JavaStream流实现递归查询树型结构查询出所有数据,用父节点递归查询出所有子节点数据/***封装备注分类集合**@paramremarkTypeList备注分类集合*......
  • 使用注解 做数据脱敏
    参考 https://blog.csdn.net/wcj_java/article/details/128583045?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-128583045-blog-119926641.235^v38^pc_relevant_anti_t3_base&spm=1001.2101.3001.4242.2&utm_relev......
  • 使用 hutool 工具类生成和识别二维码图片
    实际工作中生成二维码,通过手机进行扫码查看的需求比较多。Hutool工具包中有很多实用的工具类,其中就包含二维码生成和识别的QrCodeUtil工具类,默认生成白底黑色的二维码,也可以自定义二维码的样式,比如设置背景色、前景色、设置边距以及在二维码中心显示自定义的logo等等,使用起来......
  • oracle SQL 实现对数据库的的脱敏和对称加密
    之前的kettleETL太慢了insertintoselect83w数据220skettle83w数据etl3h26w~功能变更耗时另外如果需要再次对其他字段做脱敏时间又比较耗时需要再次编写环节复制表INSERTINTOXXXXSELECT*FROMXXXX_JM;验证数据--源表总数SELECTCOUNT(*)F......
  • 利用 kettle 对 oracle 实现字符串的脱敏和对称加密
    脱敏要求对身份证进行ASE加密处理对手机号只显示前三位和后四位其余使用****代替对于职业只显示前三个字对于真实姓名只显示展示一位即可kettle建立转换表输入表输出ASE加密选择组件密钥转换密钥必须是16进制且大于16个字节配置字段和加密算法......