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

参考文章:
正则分组替换

相关推荐
凸头4 分钟前
SpringDoc OpenAPI 泛型返回值完美解决方案
java
Predestination王瀞潞12 分钟前
Java EE3-我独自整合(第一章:Spring入门)
java·spring·java-ee
李子焱16 分钟前
第四节:理解 JSON 结构与 Item 概念
json·js·工作流
克莱因35824 分钟前
Linux 进程(2)服务管理指令
java·linux·服务器
罗小爬EX28 分钟前
Arthas 实战指南(二):profiler生成火焰图实战
java·arthas·火焰图
nvvas34 分钟前
IDEA安装并且使用Roo Code工具
java·ide·人工智能
菜鸟小九1 小时前
JVM垃圾回收
java·jvm·算法
曹牧1 小时前
JDK 1.6 ,无法通过安全套接字层(SSL/TLS)加密建立数据库安全连接
java·开发语言·ssl
book123_0_991 小时前
Redis四种模式在Spring Boot框架下的配置
java