DataMaskExtensions.cs 864 B

12345678910111213141516171819202122232425262728293031323334
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace Hotline.Share.Tools;
  7. public static class DataMaskExtensions
  8. {
  9. public static string Mask(this string original, int startIndex = 0, int length = 4)
  10. {
  11. var headStr = original.Substring(0, startIndex);
  12. var tailStr = original.Substring(startIndex + length);
  13. var sb = new StringBuilder(length);
  14. for (int i = 0;i < length;i++)
  15. {
  16. sb.Append('*');
  17. }
  18. return $"{headStr}{sb}{tailStr}";
  19. }
  20. public static string MaskPhoneNumber(this string original)
  21. {
  22. if (original.Length != 11) return string.Empty;
  23. return original.Mask(3, 4);
  24. }
  25. public static string MaskIdCard(this string original)
  26. {
  27. return original.Mask(3, 12);
  28. }
  29. }