对敏感数据进行脱敏操作

所谓脱敏就是隐藏掉信息中的一部分关键信息,用*代替,自定义隐藏可以使用StrUtil.hide方法完成。

一、常规方法

/**
   * 数据脱敏
   *
   * @param data
   * @param left  左边保留长度
   * @param right 右边保留长度
   * @return
   */
  public String dataEncrypt(String data, int left, int right) {
    if (StringUtils.isBlank(data)) {
      return StringUtils.EMPTY;
    }
    return StringUtils.left(data, left).concat(
        StringUtils.removeStart(
            StringUtils.leftPad(StringUtils.right(data, right), StringUtils.length(data), "*"),
            StringUtils.leftPad(StringUtils.EMPTY, left, "*")
        ));
  }

二、利用Hutool工具类

现阶段支持的脱敏数据类型包括:
用户id
中文姓名
身份证号
座机号
手机号
地址
电子邮件
密码
中国大陆车牌,包含普通车辆、新能源车辆
银行卡

1、以身份证号码为例:

// 5***************1X
DesensitizedUtil.idCardNum("51343620000320711X", 1, 2);

2、对于约定俗成的脱敏,我们可以不用指定隐藏位数,比如手机号:

// 180****1999
DesensitizedUtil.mobilePhone("18049531999");

3、当然还有一些简单粗暴的脱敏,比如密码,只保留了位数信息:

// **********
DesensitizedUtil.password("1234567890");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值