当前位置 : 主页 > 编程语言 > c++ >

数据脱敏,将部分敏感信息屏蔽

来源:互联网 收集:自由互联 发布时间:2021-07-03
数据脱敏 /** * 数据脱敏 存在风险 */ public String desensitization(String data, int i) { if (i data.length()) { System.out.println("指定位置大于脱敏字符串长度"); return data; } //有风险 会将同样字符 替换为
数据脱敏
/**
   * 数据脱敏 存在风险
   */
  public String desensitization(String data, int i) {
    if (i > data.length()) {
      System.out.println("指定位置大于脱敏字符串长度");
      return data;
    }
    //有风险  会将同样字符 替换为 *
    return data.replace(data.charAt(i - 1), '*');
  }

  /**
   * 数据脱敏 如果只需要替换一位  那么 head 和 foot填写一致即可
   */
  public String desensitization(String data, int head, int foot) {
    //如果 头 大于 尾,那么头尾互换
    if (head > foot) {
      int index = foot;
      foot = head;
      head = index;
    }
    String data1 = data.substring(0, head - 1);
    String data2 = data.substring(foot - 1, data.length());
    int i = foot - head;
    StringBuilder stringBuilder = new StringBuilder("*");
    while (i > 0) {
      stringBuilder.append("*");
      i--;
    }
    return data1 + stringBuilder.toString() + data2;
  }
网友评论