原创

java数据脱敏工具类(手机号 电话号 姓名 身份证号)

作者:cndz 围观群众:1117 更新于 标签:数据脱敏java常用工具类java 数据脱敏

简介

数据脱敏(Data Desensitization)是一种数据安全保护技术,旨在保护敏感数据的隐私和安全性。通过对敏感数据进行修改、隐藏或替换等方式,将其转化为无法识别个人身份或敏感信息的形式,以减少数据泄露和滥用的风险。

上代码

package common.utils;

/**
 * @author zzy
 * @date 2023/9/26 14:24
 */
public class DataDesensitizationUtil {
    // 手机号脱敏
    public static String desensitizePhoneNumber(String phoneNumber) {
        if (phoneNumber == null || phoneNumber.length() != 11) {
            return phoneNumber;
        }
        return phoneNumber.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
    }

    // 电话号脱敏
    public static String desensitizeTelephoneNumber(String telephoneNumber) {
        if (telephoneNumber == null || telephoneNumber.length() < 7) {
            return telephoneNumber;
        }
        return telephoneNumber.replaceAll("(\\d{3})\\d{4}(\\d*)", "$1****$2");
    }

    // 身份证号脱敏
    public static String desensitizeIdNumber(String idNumber) {
        if (idNumber == null || (idNumber.length() != 15 && idNumber.length() != 18)) {
            return idNumber;
        }
        return idNumber.replaceAll("(\\d{3})\\d+(\\w{4})", "$1*******$2");
    }

    // 姓名脱敏
    public static String desensitizeName(String name) {
        if (name == null || name.length() <= 1) {
            return name;
        }
        char[] nameChars = name.toCharArray();
        if(name.length() == 2){
            return nameChars[0] + "*";
        }
        for (int i = 1; i < nameChars.length - 1; i++) {
            nameChars[i] = '*';
        }
        return new String(nameChars);
    }

    public static void main(String[] args) {
        System.out.println(desensitizePhoneNumber("13343037186"));
        System.out.println(desensitizeTelephoneNumber("7725590"));
        System.out.println(desensitizeIdNumber("130827199707140415"));
        System.out.println(desensitizeName("张"));
        System.out.println(desensitizeName("张三"));
        System.out.println(desensitizeName("张张峰"));
    }
}

写在后头

使用该工具类,您可以对手机号、电话号、身份证号和姓名等敏感数据进行脱敏处理。请注意,上述代码只提供了一种简单的脱敏方式,您可以根据实际需求进行相应的修改和扩展。同时,数据脱敏需要遵守相关法律法规和隐私保护要求,务必慎重处理敏感数据。

加入收藏