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

参考文章:
正则分组替换

相关推荐
ch.ju3 分钟前
Java程序设计(第3版)第二章——switch case break
java
曹牧4 分钟前
Spring MVC中使用HttpServletRequest和HttpServletResponse
java·spring·mvc
我命由我123458 分钟前
Android 开发,getSystemService 警告信息:Must be one of: Context. POWER_SERVICE ...
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
1candobetter9 分钟前
JAVA后端开发—— Maven 生命周期与 IDEA 中Maven 插件面板介绍
java·maven·intellij-idea
Fate_I_C10 分钟前
Kotlin 与 Java 互操作空安全处理策略
java·安全·kotlin
zopple12 分钟前
Laravel3.x经典特性回顾
android·java·数据库
一只小小Java16 分钟前
IDEA 的spring boot yaml没有叶子图标了
java·spring boot·intellij-idea
俺爱吃萝卜18 分钟前
Java 性能调优实战:从 JVM 内存模型到垃圾回收算法优化
java·jvm·算法
ic爱吃蓝莓19 分钟前
美团测开一面
java·开发语言
me83220 分钟前
【深入java语句】关于System.out.println();的底层逻辑
java·开发语言