java电话/邮箱脱敏

文章目录

需求

  1. 邮箱第一个字符和’@‘之后的原文显示,第一个字符之后’@‘之前的,显示为’****’
  2. 电话号码,前面3位,后面4位显示原文,中间的显示为’****’

实现

    public static void main(String[] args) {
        String email = "zhangnero@163.com";
        System.out.println("原邮箱: " + email);

        email = email.replaceAll("(^\\w)[^@]*(@.*$)", "$1****$2");

        System.out.println("脱敏后: " + email);

        System.out.println("---------------------------");

        String phone = "13488889999";
        System.out.println("原电话: " + phone);

        phone = phone.replaceAll("(^\\d{3})\\d.*(\\d{4})", "$1****$2");

        System.out.println("脱敏后: " + phone);
    }
    
    # 结果
    "C:\Program Files\Java\jdk1.8.0_144\bin\java" ...
    原邮箱: zhangnero@163.com
    脱敏后: z****@163.com
    ---------------------------
    原电话: 13488889999
    脱敏后: 134****9999
姓名、手机号码和邮箱脱敏是信息安全的一项重要工作。在Java中,我们可以使用以下方法来实现脱敏。 一、姓名脱敏: 对于姓名脱敏,可以使用字符替换或者编码方式来处理。可以使用字符串的substring方法截取部分姓名并用特定字符代替。例如,将"张三"脱敏为"张*",可以使用以下代码实现: ``` String name = "张三"; String maskedName = name.substring(0,1) + "*"; ``` 二、手机号码脱敏: 对于手机号码脱敏,一般只显示部分号码,保留前几位和后几位,中间部分用星号或者其他特定字符代替。可以使用正则表达式和replace方法来实现。例如,将"13812345678"脱敏为"138****5678",可以使用以下代码实现: ``` String phoneNumber = "13812345678"; String maskedPhoneNumber = phoneNumber.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2"); ``` 三、邮箱脱敏: 对于邮箱脱敏,一般只显示部分邮箱地址,保留邮箱的前几位和后几位,中间部分用星号或其他特定字符代替。可以使用正则表达式和replace方法来实现。例如,将"example@example.com"脱敏为"ex*****@example.com",可以使用以下代码实现: ``` String email = "example@example.com"; String maskedEmail = email.replaceAll("(\\w{2})\\w*(\\w{1})", "$1****$2"); ``` 以上是在Java中常用的姓名、手机号码和邮箱脱敏的示例代码。在真正应用中,还需要根据具体的业务需要和安全要求进行灵活调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值