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

参考文章:
正则分组替换

相关推荐
掉鱼的猫14 分钟前
Spring AI 2.0 GA 倒计时:先别急,来看看 Java AI 框架的另一条路
java·openai·agent
Refrain_zc14 分钟前
Android 应用内 APK 安装全方案:从静默安装到普通安装的详解
java
Dxy123931021624 分钟前
Python请求方式介绍:JSON、表单及其他常见数据传输格式
数据库·python·json
正儿八经的少年40 分钟前
Spring Boot 两种激活配置方式的作用与区别
java·spring boot·后端
云烟成雨TD1 小时前
Spring AI Alibaba 1.x 系列【52】Interrupts 中断机制:节点执行前后静态中断
java·人工智能·spring
疯狂成瘾者1 小时前
Spring Boot 项目中的 SMTP 邮件验证码服务技术解析
java·spring boot·后端
y = xⁿ1 小时前
Java并发八股学习日记
java·开发语言·学习
xifangge20251 小时前
【深度排障】从 OS 底层寻址剖析 javac 不是内部或外部命令 核心报错:变量空间隔离与自动化部署终极范式
java·开发语言·jdk·自动化
肖恩想要年薪百万1 小时前
JSP中常用JSTL标签
java·开发语言·状态模式
程序员清风2 小时前
AI开发岗该如何准备面试?
java·后端·面试