`
Franciswmf
  • 浏览: 779018 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

字符串脱敏

阅读更多
    public static void main(String[] args) {
//        String content = "安徽省合肥市高新区习友路XXXX号XX公馆58栋1108室";
//        String regex = "^(.{3})(.{8})(.*)$";
//        //从第4位开始,遮掩8位
//        String replacement = "$1********$3";
//        //脱敏
//        String content2 = desensitize(content, regex, replacement);
//        System.out.println("content2="+ content2);
        //【姓名】
//        String content = "小浣熊";
//        String regex = "^(.{1})(.*)$";
//        //第1位遮掩
//        String replacement = "*$2";
//        //脱敏
//        String content2 = desensitize(content, regex, replacement);
//        System.out.println("content2="+ content2);
        //【手机号码】
//        String content = "18755556999";
//        String regex = "^(.{3})(.{4})(.*)$";
//        //中间4位遮掩
//        String replacement = "$1****$3";
//        //脱敏
//        String content2 = desensitize(content, regex, replacement);
//        System.out.println("content2="+ content2);
        //【身份证号码】
        String content = "340888199012300212";
        String regex = "^(.{1})(.*)(.{1})$";
        //前1后1保留,中间16位遮掩
        String replacement = "$1****************$3";
        //脱敏
        String content2 = desensitize(content, regex, replacement);
        System.out.println("content2="+ content2);
    }

    /**
     * 脱敏
     *
     * @param str 源字符串
     * @param regex 正则表达式,示例: ^(.{3})(.{11})(.*)$
     * @param replacement 脱敏后,示例: $1***********$3
     * @return
     */
    public static String desensitize(String str, String regex, String replacement) {
        return str.replaceAll(regex, replacement);
    }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics