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