| New file |
| | |
| | | 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) { |
| | | String name = desensitizedName("张三"); |
| | | System.out.println("name = " + name); |
| | | String name1 = desensitizedName("王老五"); |
| | | System.out.println("name1 = " + name1); |
| | | 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); |
| | | |
| | | String names = "张三"; |
| | | System.out.println("names = " + names.substring(0,1)); |
| | | String cardid ="360728199205120012"; |
| | | System.out.println("cardid.substring(cardid.length()-4) = " + cardid.substring(cardid.length() - 4)); |
| | | } |
| | | |
| | | |
| | | } |