【java】替换json字符串的敏感值,如密码

上代码:

java 复制代码
    /**
     * @Description:
     * @param input 替换前原始字段
     * @param fields 需要替换字段的名称,可以写多个,替换后的值是 ******
     * @return java.lang.String
     */
    public static String hiddenSecretField(String input, List<String> fields) {
        final String SECRET_SAFE_WORD = "$1******$2";
        String tmp = input;
        for (String field : fields) {
            String regStr = String.format("(\"%s\"\\s*:\\s*\")[^\"]+(\")", field);
            tmp = input.replaceAll(regStr, SECRET_SAFE_WORD);
        }
        return tmp;
    }

问题点:

需要标准格式的json字符串。至少要满足 "field":"value" 一个键值对中没有回车字符。

参考文章:
正则分组替换

相关推荐
会编程的土豆3 分钟前
Set 深度解析:去重、唯一性与你的智能抽屉
java·开发语言·后端·数据结构与算法
java1234_小锋25 分钟前
Java高频面试题:JVM内存为什么要分代?
java·开发语言·jvm
linux修理工29 分钟前
下载亚马逊Corretto 17的方法(OpenJDK 17发行版)
java·运维·服务器
moonlight030444 分钟前
类加载子系统
java·jvm·算法
xiaoye37081 小时前
某大厂java面试题一面20260313
java
啦啦啦_99991 小时前
13. AI面试题之 Dify
java
春日见1 小时前
端到端大模型自动驾驶
java·开发语言·驱动开发·docker·自动驾驶·计算机外设
rell3361 小时前
机顶盒播放udp/rtp马赛克
java·网络·网络协议·udp
Arya_aa1 小时前
多个对象通过集合实现io流的读写
java
白云如幻1 小时前
【JDBC】集合、反射和泛型复习-3
java·开发语言·jdbc