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

参考文章:
正则分组替换

相关推荐
wuminyu4 分钟前
专家视角看 Java 字节码与Class 文件格式
java·linux·c语言·jvm·c++
Gauss松鼠会8 分钟前
【openGauss】openGauss 磁盘引擎之 ustore
java·服务器·开发语言·前端·数据库·经验分享·gaussdb
lee_curry16 分钟前
线程中断,等待,唤醒与ThreadLocal
java·线程·juc·threadlocal·中断
indexsunny22 分钟前
互联网大厂Java面试实战:Spring Boot微服务与Kafka消息队列深度解析
java·spring boot·微服务·面试·kafka·消息队列·电商
杨凯凡37 分钟前
【019】IO/NIO 概念:Web 开发要掌握到什么程度
java·开发语言·nio
Nicander39 分钟前
JDBC PreparedStatement的作用机制
java
MegaDataFlowers41 分钟前
解决idea报错不支持发行版本21
java·ide·intellij-idea
DevilSeagull43 分钟前
MySQL(1) 安装与配置
java·数据库·git·mysql·http·开源·github
季明洵44 分钟前
Java基础---逻辑控制(上)
java·开发语言·循环结构·分支结构·顺序结构
Cyan_RA944 分钟前
如何利用 Paddle-OCR 丝滑进行复杂版面 PDF 的批量化OCR处理?
java·linux·python·ocr·conda·paddle·surya