kimi42345
2020-03-02 2411eadd4ad4bef5c08c6ba2ea5898ea72136e29
src/main/java/com/highdatas/mdm/util/DbUtils.java
@@ -10,9 +10,11 @@
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.security.MessageDigest;
import java.text.MessageFormat;
import java.util.Random;
import java.util.UUID;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
 * @author kimi
@@ -22,6 +24,7 @@
@Slf4j
public class DbUtils {
    private static final char HEX_DIGITS[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
    public static String versionAddSub (String baseVersion) {
        if (StringUtils.isEmpty(baseVersion)) {
@@ -191,6 +194,15 @@
        }
        return builder.toString();
    }
    public static String assemblParam(String objects){
        if (StringUtils.isEmpty(objects)) {
            return null;
        }else  {
            return  "@{" + objects + "}";
        }
    }
    public static String getRandomString(int length) {
        Random random = new Random();
        StringBuffer sb = new StringBuffer();
@@ -234,4 +246,55 @@
        }
        return sbf.toString();
    }
    public static Set<String> matcher(String testStr) {
        return matcher(Constant.Default_Patter, testStr);
    }
    public static String replaceEscape(String testStr) {
        String new_str = Pattern.compile("\t|\r|\n| ").matcher(testStr).replaceAll(Constant.EMPTY);
        return new_str;
    }
    public static Set<String> matcher(String patter, String testStr) {
//      String test = "@{databaseIp}:{databasePort}{instanceName};database";
//      String initCompile = "(?<=@\\{)(.+?)(?=\\})";
        Set<String> ls=new HashSet<>();
        Pattern pattern = Pattern.compile(patter);
        Matcher matcher = pattern.matcher(testStr);
        while(matcher.find()){
            ls.add(matcher.group());
        }
        return ls;
    }
    private static String toHexString(byte[] b) {
        StringBuilder sb = new StringBuilder(b.length * 2);
        for (int i = 0; i < b.length; i++) {
            sb.append(HEX_DIGITS[(b[i] & 0xf0) >>> 4]);
            sb.append(HEX_DIGITS[b[i] & 0x0f]);
        }
        return sb.toString();
    }
    public static String Bit32(String SourceString) throws Exception {
        MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
        digest.update(SourceString.getBytes());
        byte messageDigest[] = digest.digest();
        return toHexString(messageDigest);
    }
    public static String Bit16(String SourceString) throws Exception {
        return Bit32(SourceString).substring(8, 24);
    }
}