hutool DesensitizedUtil

hutool  DesensitizedUtil  脱敏工具类

package util;

import cn.hutool.core.util.DesensitizedUtil;


/**
 * 脱敏工具测试
 * 
 * @author ZengWenFeng
 * @email 117791303@qq.com
 * @mobile 13805029595
 */
public class DesensitizedUtilTest
{
	public static void main(String[] args)
	{
		String phone = "13805029595";
		String phone_2 = DesensitizedUtil.mobilePhone(phone);
		System.out.println(phone_2);

		//
		String idCard = "350125200010014116";
		String idCard_2 = DesensitizedUtil.idCardNum(idCard, 6, 4);
		System.out.println(idCard_2);

		String name = "ZengWenFeng";
		String name_2 = DesensitizedUtil.chineseName(name);
		System.out.println(name_2);

		String email = "117791303@qq.com";
		String email_2 = DesensitizedUtil.email(email);
		System.out.println(email_2);
		
		String bankCard = "ICBC91350XXXX";
		String bankCard_2 = DesensitizedUtil.bankCard(bankCard);
		System.out.println(bankCard_2);
	}

}

<think>好的,用户想了解Hutool库中敏感数据脱敏工具类的使用方法。首先,我需要确认Hutool中相关的工具类是什么。根据之前的引用信息,Hutool有一个DesensitizedUtil类,专门用于脱敏处理。 接下来,我需要回忆或查找DesensitizedUtil支持的脱敏类型。常见的脱敏类型包括手机号、身份证号、密码、银行卡号、姓名等。不同的数据类型可能需要不同的脱敏策略,比如保留前几位和后几位,中间用星号代替。 然后,我应该考虑如何具体使用这些方法。比如,手机号脱敏通常是保留前3位和后4位,中间用*号填充。身份证号可能保留前1位和后2位。密码则通常全部替换为*号。对于姓名,中文姓名一般保留姓氏,名字用*代替,而其他情况可能保留首字母。 另外,用户可能需要自定义脱敏规则。Hutool的StrUtil.hide方法可以灵活处理这种情况,允许指定开始和结束的隐藏位置。例如,隐藏邮箱地址的用户名部分,只显示域名。 最后,需要提醒用户注意脱敏的平衡点,既要保护隐私,又要保留数据的可读性。同时,确保用户知道如何引入Hutool依赖,可能需要检查Maven或Gradle的配置。 总结步骤:介绍DesensitizedUtil类,列举常见脱敏类型的使用方法,展示示例代码,说明自定义方法,并给出依赖引入的提示。同时,生成相关问题帮助用户进一步探索。</think>### Hutool敏感数据脱敏工具类使用方法 Hutool通过`DesensitizedUtil`工具类提供多种数据脱敏模式,支持以下场景的快速处理: #### 一、基础脱敏类型 1. **手机号脱敏** ```java DesensitizedUtil.mobilePhone("13812345678"); // 输出:138****5678 ``` 保留前3位和后4位,中间填充4个`*`[^1] 2. **身份证号脱敏** ```java DesensitizedUtil.idCardNum("110101199003075678", 1, 2); // 输出:1****************8 ``` 参数说明:保留前1位,后2位 3. **密码脱敏** ```java DesensitizedUtil.password("mypassword123"); // 输出:*********** ``` 固定返回6-16位`*`符号 4. **银行卡号脱敏** ```java DesensitizedUtil.bankCard("6228480402564890018"); // 输出:622848**********0018 ``` 保留前6位和后4位 5. **姓名脱敏** ```java DesensitizedUtil.chineseName("张三丰"); // 输出:张** DesensitizedUtil.chineseName("Alice"); // 输出:A**e ``` #### 二、自定义脱敏规则 使用`StrUtil.hide`方法实现灵活脱敏: ```java // 隐藏邮箱用户名部分 StrUtil.hide("[email protected]", 3, "@".length()); // 输出:tes****@example.com // 自定义地址脱敏 StrUtil.hide("北京市朝阳区建国路100号", 3, 5); // 输出:北京市朝*****路100号 ``` #### 三、依赖引入(Maven) ```xml <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.16</version> </dependency> ``` **注意事项:** 1. 脱敏策略需平衡隐私保护与数据可读性 2. 敏感数据存储仍需加密处理 3. 不同场景选择匹配的脱敏级别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

13805029595

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值