【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" 一个键值对中没有回车字符。

参考文章:
正则分组替换

相关推荐
赵丙双10 分钟前
spring boot 排除自动配置类的方式和原理
java·spring boot·自动配置
8Qi818 分钟前
LeetCode热题100--45.跳跃游戏 II
java·算法·leetcode·贪心算法·编程
bilI LESS28 分钟前
Spring Boot接收参数的19种方式
java·spring boot·后端
九皇叔叔1 小时前
004-SpringSecurity-Demo 拆分环境
java·springboot3·springsecurity
爱滑雪的码农1 小时前
Java八:Character 类与string类
java·开发语言
APIshop2 小时前
京东关键词搜索接口完全指南
java·开发语言·数据库
东离与糖宝2 小时前
HashMap从入门到源码:Java7/8/21区别+面试陷阱+高频追问合集
java·人工智能·面试
wang09072 小时前
Linux性能优化之CPU利用率
java·linux·运维
2601_949817722 小时前
Spring+SpringMVC项目中的容器初始化过程
java·后端·spring
做个文艺程序员2 小时前
Spring AI 1.1 三件套实战:Structured Output + Tool Calling + Memory 从踩坑到生产落地
java·大数据·人工智能