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

参考文章:
正则分组替换

相关推荐
RestCloud12 分钟前
智能制造的底层基建:iPaaS 如何统一 ERP、MES 与 WMS 的数据流
java·wms·erp·数据传输·ipaas·mes·集成平台
guslegend33 分钟前
SpringBoot源码剖析
java
皮卡龙33 分钟前
Spring MVC 接收请求参数的核心
java·spring·mvc
一颗不甘坠落的流星41 分钟前
【Antd】基于 Upload 组件,导入Json文件并转换为Json数据
前端·javascript·json
爱笑的眼睛111 小时前
FastAPI 路由系统深度探索:超越基础 CRUD 的高级模式与架构实践
java·人工智能·python·ai
武子康1 小时前
Java-193 Spymemcached 深入解析:线程模型、Sharding 与序列化实践全拆解
java·开发语言·redis·缓存·系统架构·memcached·guava
韩凡2 小时前
HashMap的理解与结构
java·开发语言·哈希算法
亮子AI2 小时前
application/json 服务器收到的是字符串,还是json对象?
运维·服务器·json
hhzz2 小时前
Spring Boot整合Activiti的项目中实现抄送功能
java·spring boot·后端