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

参考文章:
正则分组替换

相关推荐
大飞哥~BigFei6 分钟前
新版chrome浏览器安全限制及解决办法
java·前端·chrome·安全·跨域
Philtell7 分钟前
Ubuntu22.04TLS VS Code配置setting.json
json
{Hello World}13 分钟前
Java多态:三大条件与实现详解
java·开发语言
老蒋每日coding14 分钟前
Java解析Excel并对特定内容做解析成功与否的颜色标记
java·开发语言·excel
lang2015092814 分钟前
Java反射利器:Apache Commons BeanUtils详解
java·开发语言·apache
m0_7482459215 分钟前
SQLite 数据类型概述
java·数据库·sqlite
Mh_ithrha21 分钟前
题目:小鱼比可爱(java)
java·开发语言·算法
wxm63126 分钟前
力扣算法题(C++):1、2
java·算法·leetcode
冰暮流星27 分钟前
sql语言之where语句
java·数据库·sql