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

参考文章:
正则分组替换

相关推荐
架构师沉默11 小时前
别又牛逼了!AI 写 Java 代码真的行吗?
java·后端·架构
后端AI实验室15 小时前
我把一个生产Bug的排查过程,交给AI处理——20分钟后我关掉了它
java·ai
凉年技术17 小时前
Java 实现企业微信扫码登录
java·企业微信
狂奔小菜鸡18 小时前
Day41 | Java中的锁分类
java·后端·java ee
hooknum18 小时前
学习记录:基于JWT简单实现登录认证功能-demo
java
程序员Terry19 小时前
同事被深拷贝坑了3小时,我教他原型模式的正确打开方式
java·设计模式
NE_STOP19 小时前
MyBatis-缓存与注解式开发
java
码路飞19 小时前
不装 OpenClaw,我用 30 行 Python 搞了个 QQ AI 机器人
java
Re_zero19 小时前
以为用了 try-with-resources 就稳了?这三个底层漏洞让TCP双向通讯直接卡死
java·后端
SimonKing20 小时前
Fiddler抓包完全指南:从安装配置到抓包,一文讲透
java·后端·程序员