package org.springblade.common.utils;
|
|
import com.google.common.base.Strings;
|
import org.apache.commons.lang3.StringUtils;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
import java.util.regex.Matcher;
|
import java.util.regex.Pattern;
|
|
/**
|
* 铭感信息处理
|
* @author zhongrj
|
* @since 2022-04-27
|
*/
|
public class DesensitizedUtil {
|
|
|
/**
|
* 姓名脱敏处理
|
* @param fullName
|
* @return
|
*/
|
public static String desensitizedName(String fullName){
|
if (!Strings.isNullOrEmpty(fullName)) {
|
String name = StringUtils.left(fullName, 1);
|
return StringUtils.rightPad(name, StringUtils.length(fullName), "*");
|
}
|
return fullName;
|
}
|
|
/**
|
* 手机号脱敏处理
|
* @param phoneNumber
|
* @return
|
*/
|
public static String desensitizedPhoneNumber(String phoneNumber){
|
if(StringUtils.isNotEmpty(phoneNumber)){
|
phoneNumber = phoneNumber.replaceAll("(\\w{3})\\w*(\\w{4})", "$1****$2");
|
}
|
return phoneNumber;
|
}
|
|
/**
|
* 身份证号码脱敏处理
|
* @param idNumber
|
* @return
|
*/
|
public static String desensitizedIdNumber(String idNumber){
|
if (!Strings.isNullOrEmpty(idNumber)) {
|
if (idNumber.length() == 15){
|
idNumber = idNumber.replaceAll("(\\w{6})\\w*(\\w{3})", "$1******$2");
|
}
|
if (idNumber.length() == 18){
|
idNumber = idNumber.replaceAll("(\\w{6})\\w*(\\w{3})", "$1*********$2");
|
}
|
}
|
return idNumber;
|
}
|
|
/**
|
* 保安证编号
|
* @param securityNumber
|
* @return
|
*/
|
public static String desensitizedSecurityNumber(String securityNumber){
|
if (!Strings.isNullOrEmpty(securityNumber)) {
|
//分割
|
String s = securityNumber.substring(0, securityNumber.length() - 4);
|
String s2 = s.replaceAll("\\D", "*");
|
//替换数字
|
Pattern p = Pattern.compile("[\\d]");
|
Matcher matcher = p.matcher(s2);
|
String s3 = matcher.replaceAll("*");
|
//保留后4位
|
String s1 = securityNumber.substring(securityNumber.length() - 4);
|
securityNumber = s3 + s1;
|
}
|
return securityNumber;
|
}
|
|
/**
|
* 身份证号码脱敏处理(只保留后4位)
|
* @param idNumber
|
* @return
|
*/
|
public static String desensitizedIdNumberBy4(String idNumber){
|
if (!Strings.isNullOrEmpty(idNumber)) {
|
if (idNumber.length() == 15){
|
idNumber = idNumber.replaceAll("\\w*(\\w{4})", "***********$1");
|
}
|
if (idNumber.length() == 18){
|
idNumber = idNumber.replaceAll("\\w*(\\w{4})", "**************$1");
|
}
|
}
|
return idNumber;
|
}
|
|
|
/**
|
* 地址
|
* @param address
|
* @return
|
*/
|
public static String desensitizedAddress(String address){
|
if (!Strings.isNullOrEmpty(address)) {
|
return StringUtils.left(address, 3).concat(StringUtils.removeStart(StringUtils.leftPad(StringUtils.right(address, address.length()-11), StringUtils.length(address), "*"), "***"));
|
}
|
return address;
|
}
|
|
public static void main(String[] args) {
|
desensitizedIdNumberBy4("360728199205280059");
|
desensitizedSecurityNumber("赣洪202100124");
|
|
Map<String, Object> map = new HashMap<>(1);
|
String a = "sdafa-445sdaf-fsafdsaf";
|
map.put(a,"abc");
|
System.out.println("map = " + map);
|
Object o = map.get(a);
|
System.out.println("o = " + o);
|
}
|
|
|
}
|