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

参考文章:
正则分组替换

相关推荐
无巧不成书021825 分钟前
零基础Java网络编程全解:从核心概念到Socket实战,一文打通Java网络通信
java·开发语言·网络
aq553560043 分钟前
Workstation神技:一键克隆调试环境
java·开发语言
今天你TLE了吗2 小时前
LLM到Agent&RAG——AI知识点概述 第六章:Function Call函数调用
java·人工智能·学习·语言模型·大模型
Rcnhtin2 小时前
RocketMQ
java·linux·rocketmq
JH30732 小时前
RedLock-红锁
java·redis
rannn_1113 小时前
【Redis|原理篇2】Redis网络模型、通信协议、内存回收
java·网络·redis·后端·缓存
遇见你的雩风4 小时前
网络原理(一)
java·网络
952364 小时前
Spring IoC&DI
java·数据库·spring
十六年开源服务商4 小时前
游戏与设计驱动WordPress建站2026
java·前端·游戏
前进吧-程序员4 小时前
C++ 内存到底分配在哪?
java·jvm·c++