All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.yuweix.kuafu.data.datasecure.SensitiveUtil Maven / Gradle / Ivy

The newest version!
package com.yuweix.kuafu.data.datasecure;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.lang.reflect.Field;


/**
 * 脱敏工具类
 */
public class SensitiveUtil {
    private static final Logger log = LoggerFactory.getLogger(SensitiveUtil.class);

    public static Object shield(Object object, String fieldName, Object val) {
        if (!(val instanceof String) || "".equals(val)) {
            return val;
        }
        try {
            Field field = object.getClass().getDeclaredField(fieldName);
            Sensitive sensitive;
            if (String.class != field.getType() || (sensitive = field.getAnnotation(Sensitive.class)) == null) {
                return val;
            }

            return shield((String) val, sensitive.regex(), sensitive.replacement());
        } catch (NoSuchFieldException ignored) {

        }
        return val;
    }

    public static String shield(String val, String regex, String replacement) {
        if (val == null || "".equals(val)
                || regex == null || "".equals(regex.trim())
                || replacement == null || "".equals(replacement.trim())) {
            return val;
        }
        return val.replaceAll(regex.trim(), replacement.trim());
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy