maskString static method

String? maskString(
  1. String? originalText, {
  2. int unmaskedPrefixLength = 4,
  3. int unmaskedSuffixLength = 4,
  4. String maskingCharacter = '*',
})

Implementation

static String? maskString(
  String? originalText, {
  int unmaskedPrefixLength = 4,
  int unmaskedSuffixLength = 4,
  String maskingCharacter = '*',
}) {
  if (originalText == null || originalText.isEmpty) {
    return originalText;
  }

  // 如果字符串太短,不足以进行掩码处理,则返回原字符串
  if (originalText.length <= unmaskedPrefixLength + unmaskedSuffixLength) {
    return originalText;
  }

  // 计算需要替换的部分的长度
  final maskedSectionLength =
      originalText.length - unmaskedPrefixLength - unmaskedSuffixLength;

  // 构建掩码部分
  final maskedSection = maskingCharacter * maskedSectionLength;

  // 拼接结果
  return originalText.substring(0, unmaskedPrefixLength) +
      maskedSection +
      originalText.substring(originalText.length - unmaskedSuffixLength);
}