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

参考文章:
正则分组替换

相关推荐
顾北124 分钟前
Java接入阿里百炼大模型实战指南
java·ai
毕设源码-郭学长4 分钟前
【开题答辩全过程】以 高校水电表缴费系统的设计与实现为例,包含答辩的问题和答案
java
win x5 分钟前
网络通信协议 第一部
java·网络协议
黎雁·泠崖33 分钟前
Java面向对象:对象数组进阶实战
java·开发语言
sg_knight39 分钟前
工厂方法模式(Factory Method)
java·服务器·python·设计模式·工厂方法模式·工厂模式
%xiao Q1 小时前
GESP C++四级-216
java·开发语言·c++
码农幻想梦1 小时前
实验五 spring入门及IOC实验
java·后端·spring
骇客野人1 小时前
maven生命周期构建和测试发布项目
java·maven
黎雁·泠崖2 小时前
Java面向对象:购物车系统完整版+全系列考点复盘
java·开发语言
一颗青果2 小时前
C++的锁 | RAII管理锁 | 死锁避免
java·开发语言·c++