摘要
本文介绍Hutool脱敏工具DesensitizedUtil,事先封装好的脱敏工具被Hutool收录,开箱即用。
认识DesensitizedUtil
脱敏工具类DesensitizedUtil,支持用户ID、中文名、身份证、座机号、手机号、地址、电子邮件、密码、车牌、银行卡号
注意:脱敏后,不能解密。StrUtil.hide 和 DesensitizedUtil 都只是不可逆的字符替换,中间那部分被 * 覆盖的原文信息已经丢失,没有任何密钥或算法可以恢复。
代码示例
导入依赖
cn.hutool hutool-all 5.8.29使用方法
package org.coffeebeans.service;
import cn.hutool.core.util.DesensitizedUtil; import cn.hutool.core.util.StrUtil;
public class DesensitizedUtilUse { public static void main(String[] args) { String name= "张三"; String idCard= "53333618541251"; String telPhone= "5201111"; String mobilePhone= "13888888888"; String address= "四川省成都市高新区1号"; String email= "1234567890@qq.com"; String password= "E1234567"; String plate= "川A6666D"; String bankCard= "12342222333344446789"; String ipv4= "192.168.1.1"; String ipv6= "2001:0db8:86a3:08d3:1319:8a2e:0370:7344";
//DesensitizedUtil封装好的直接用,底层是StrUtil.hide
//省略掉System.out.println...
DesensitizedUtil.chineseName(name) //张*
DesensitizedUtil.idCardNum(idCard, 1,2) //5***********51
DesensitizedUtil.fixedPhone(telPhone) //5201*11
DesensitizedUtil.mobilePhone(mobilePhone) //138****8888
DesensitizedUtil.address(address, 3) //四川省成都市高新***
DesensitizedUtil.email(email) //1*********@qq.com
DesensitizedUtil.password(password) //********
DesensitizedUtil.carLicense(plate) //川A6***D
DesensitizedUtil.bankCard(bankCard) //1234 **** **** **** 6789
DesensitizedUtil.ipv4(ipv4) //192.*.*.*
DesensitizedUtil.ipv6(ipv6) //2001:*:*:*:*:*:*:*
//StrUtil.hide自定义脱敏,实际是CharSequenceUtil方法
//省略掉System.out.println...
StrUtil.hide(name, 1, 2) //张*
StrUtil.hide(idCard, 1, idCard.length() - 2) //5***********51
StrUtil.hide(telPhone, 0, telPhone.length() - 4) //***1111
StrUtil.hide(mobilePhone, 3, 7) //138****8888
StrUtil.hide(address, 3, 100) //四川省********
StrUtil.hide(email, 1, email.indexOf('@')) //1*********@qq.com
StrUtil.hide(password, 0, 100) //********
StrUtil.hide(plate, 2, plate.length() - 1) //川A****D
StrUtil.hide(bankCard, 0, bankCard.length() - 4) //****************6789
StrUtil.hide(ipv4, 10, 100) //192.168.1.*
StrUtil.hide(ipv6, ipv6.lastIndexOf(':') - 8, 100) //2001:0db8:86a3:08d3:1319:8*************
}
}
总结
以上我们了解了Hutool的脱敏工具DesensitizedUtil支持用户ID、中文名、身份证、座机号、手机号、地址、电子邮件、密码、车牌、银行卡号。脱敏后,不能解密。
关注公众号:咖啡Beans
在这里,我们专注于软件技术的交流与成长,分享开发心得与笔记,涵盖编程、AI、资讯、面试等多个领域。无论是前沿科技的探索,还是实用技巧的总结,我们都致力于为大家呈现有价值的内容。期待与你共同进步,开启技术之旅。