1:直接上工具类
- <dependency>
- <groupId>cn.hutoolgroupId>
- <artifactId>hutool-allartifactId>
- <version>5.8.16version>
- dependency>
2:Hutool 支持的脱敏数据类型
现阶段最新版本的 Hutool 支持的脱敏数据类型如下,基本覆盖了常见的敏感信息。
3:使用 Hutool 工具类一行代码实现脱敏
Hutool 提供的脱敏方法如下图所示:

- import cn.hutool.core.util.DesensitizedUtil;
- import org.junit.Test;
- import org.springframework.boot.test.context.SpringBootTest;
-
- /**
- *
- * @description: Hutool实现数据脱敏
- */
- @SpringBootTest
- public class HuToolDesensitizationTest {
-
- @Test
- public void testPhoneDesensitization(){
- String phone="13723231234";
- System.out.println(DesensitizedUtil.mobilePhone(phone)); //输出:137****1234
- }
- @Test
- public void testBankCardDesensitization(){
- String bankCard="6217000130008255666";
- System.out.println(DesensitizedUtil.bankCard(bankCard)); //输出:6217 **** **** *** 5666
- }
-
- @Test
- public void testIdCardNumDesensitization(){
- String idCardNum="411021199901102321";
- //只显示前4位和后2位
- System.out.println(DesensitizedUtil.idCardNum(idCardNum,4,2)); //输出:4110************21
- }
- @Test
- public void testPasswordDesensitization(){
- String password="www.jd.com_35711";
- System.out.println(DesensitizedUtil.password(password)); //输出:****************
- }
- }
4:金融行业需要对股票代码进行脱敏,这里提供一种思路:
用Map进行加密0-9 对应 自定义的10个英文字母,比如 0—U 1—q 等等;
如果股票代码是英文则把取英文字母的ascll码乘以2,3,5等等进行加密处理!
这样加密脱敏就完成了,解密就用自定义的密钥Map进行反向操作即可!