今天给大家介绍关于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