洪城义警-正式版后台
zengh
2022-05-16 da6dc7db4e0e9ecc585b86ba90d70b00ddb77cc4
服务器配置修改
1 files modified
1 files added
146 ■■■■■ changed files
src/main/java/org/springblade/common/utils/DesensitizedUtil.java 134 ●●●●● patch | view | raw | blame | history
src/main/resources/application-dev.yml 12 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/common/utils/DesensitizedUtil.java
New file
@@ -0,0 +1,134 @@
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));
    }
}
src/main/resources/application-dev.yml
@@ -14,13 +14,13 @@
  datasource:
    # MySql
#    url: jdbc:mysql://localhost:2083/qfqkpublic?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
#    username: root
#    password: ZHba@0112
    url: jdbc:mysql://61.131.136.25:2083/qfqkpublic?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
    url: jdbc:mysql://localhost:3306/qfqkpublic?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
    username: root
    password: ZHba@0112
#    url: jdbc:mysql://61.131.136.25:2083/qfqkpublic?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
#    username: root
#    password: ZHba@0112
#    url: jdbc:mysql://36.134.81.48:3306/qfqkpublic?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
#    username: root
@@ -42,7 +42,7 @@
#ftp 设置
ftp:
  sqlConnect: jdbc:mysql://localhost:2083/qfqkpublic?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
  sqlConnect: jdbc:mysql://localhost:3306/qfqkpublic?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
  ftpHost: 117.40.91.118
  ftpPort: 21
  ftpUserName: zhbain