0
点赞
收藏
分享

微信扫一扫

java实现字符串脱敏只保留前后4个字符

Java实现字符串脱敏只保留前后4个字符

1. 概述

在实际开发中,我们经常需要对敏感信息进行脱敏处理,例如手机号码、身份证号码等。本文将介绍如何使用Java实现字符串脱敏,只保留前后4个字符。

2. 实现步骤

下面是实现字符串脱敏的步骤,可以用表格展示如下:

步骤 描述
1. 提取前4个字符 获取原始字符串的前4个字符
2. 提取后4个字符 获取原始字符串的后4个字符
3. 替换中间字符 将原始字符串中除前4个字符和后4个字符之外的字符替换为指定的脱敏字符
4. 拼接脱敏后的字符串 将步骤1、2、3的结果拼接起来,得到脱敏后的字符串

接下来,我们将逐步介绍每个步骤的具体实现方式。

3. 实现代码

3.1 提取前4个字符

可以使用substring方法来提取字符串的前4个字符。具体代码如下:

String original = "1234567890";
String firstFourChars = original.substring(0, 4);

代码解释:

  • original为原始字符串。
  • substring(0, 4)表示从索引0开始截取,截取长度为4的子字符串。
  • firstFourChars为提取出的前4个字符。

3.2 提取后4个字符

同样可以使用substring方法来提取字符串的后4个字符。具体代码如下:

String original = "1234567890";
String lastFourChars = original.substring(original.length() - 4);

代码解释:

  • original为原始字符串。
  • substring(original.length() - 4)表示从索引original.length() - 4开始截取到字符串末尾。
  • lastFourChars为提取出的后4个字符。

3.3 替换中间字符

为了实现字符串脱敏,我们需要将原始字符串中除前4个字符和后4个字符之外的字符替换为指定的脱敏字符。可以使用replace方法来实现替换操作。具体代码如下:

String original = "1234567890";
String firstFourChars = original.substring(0, 4);
String lastFourChars = original.substring(original.length() - 4);
String sensitiveInfo = original.substring(4, original.length() - 4);
String mask = "*";
String maskedInfo = sensitiveInfo.replaceAll(".", mask);

代码解释:

  • original为原始字符串。
  • firstFourCharslastFourChars分别为前4个字符和后4个字符。
  • sensitiveInfo为原始字符串中除前4个字符和后4个字符之外的敏感信息。
  • mask为指定的脱敏字符,可以根据实际需求进行修改。
  • replaceAll(".", mask)表示将sensitiveInfo中的每个字符替换为mask,其中.表示匹配任意字符。
  • maskedInfo为脱敏后的中间字符。

3.4 拼接脱敏后的字符串

最后一步是将步骤1、2、3的结果拼接起来,得到脱敏后的字符串。可以使用字符串拼接操作或者StringBuilder来实现。具体代码如下:

String original = "1234567890";
String firstFourChars = original.substring(0, 4);
String lastFourChars = original.substring(original.length() - 4);
String sensitiveInfo = original.substring(4, original.length() - 4);
String mask = "*";
String maskedInfo = sensitiveInfo.replaceAll(".", mask);
String maskedString = firstFourChars + maskedInfo + lastFourChars;

代码解释:

  • original为原始字符串。
  • firstFourCharslastFourChars分别为前4个字符和后4个字符。
  • maskedInfo为脱敏后的中间字符。
  • maskedString为最终脱敏后的字符串,将前4个字符、脱敏后的中间
举报

相关推荐

0 条评论