yangys
2024-04-04 2cf2921440e7473ae50796c2cb688f609b3a7995
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package com.qianwen.core.tool.utils;
 
import cn.hutool.core.util.StrUtil;
 
/* loaded from: blade-core-tool-9.3.0.0-SNAPSHOT.jar:org/springblade/core/tool/utils/DesensitizedUtils.class */
public class DesensitizedUtils {
    public static String desValue(String origin, int prefixNoMaskLen, int suffixNoMaskLen, String maskStr) {
        if (origin == null) {
            return null;
        }
        StringBuilder sb = new StringBuilder();
        int n = origin.length();
        for (int i = 0; i < n; i++) {
            if (i < prefixNoMaskLen) {
                sb.append(origin.charAt(i));
            } else if (i > (n - suffixNoMaskLen) - 1) {
                sb.append(origin.charAt(i));
            } else {
                sb.append(maskStr);
            }
        }
        return sb.toString();
    }
 
    public static String chineseName(String fullName) {
        if (fullName == null) {
            return null;
        }
        return desValue(fullName, 0, 1, "*");
    }
 
    public static String idCardNum(String id) {
        return desValue(id, 6, 4, "*");
    }
 
    public static String fixedPhone(String num) {
        return desValue(num, 0, 4, "*");
    }
 
    public static String mobilePhone(String num) {
        return desValue(num, 3, 4, "*");
    }
 
    public static String address(String address) {
        return desValue(address, 6, 0, "*");
    }
 
    public static String email(String email) {
        if (email == null) {
            return null;
        }
        int index = StrUtil.indexOf(email, '@');
        if (index <= 1) {
            return email;
        }
        String preEmail = desValue(email.substring(0, index), 1, 0, "*");
        return preEmail + email.substring(index);
    }
 
    public static String bankCard(String cardNum) {
        return desValue(cardNum, 6, 4, "*");
    }
 
    public static String password(String password) {
        if (password == null) {
            return null;
        }
        return "******";
    }
 
    public static String key(String key) {
        if (key == null) {
            return null;
        }
        StringBuilder tmpKey = new StringBuilder(desValue(key, 0, 3, "*"));
        if (tmpKey.length() <= 6) {
            if (tmpKey.length() < 6) {
                int buffLength = 6 - tmpKey.length();
                for (int i = 0; i < buffLength; i++) {
                    tmpKey.insert(0, "*");
                }
                return tmpKey.toString();
            }
            return tmpKey.toString();
        }
        return tmpKey.substring(tmpKey.length() - 6);
    }
}