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);
|
}
|
}
|