中文姓名 脱敏,两个字第二位改为*,大于两位 保留两头中间全部改为*。根据描述写一段C#代码
时间: 2024-12-19 19:24:02 浏览: 4
在C#中,脱敏处理姓名通常涉及到字符串操作。你可以创建一个方法来实现这个需求。这里是一个简单的示例代码:
```csharp
using System;
public class NameMasking
{
public static string DesensitizeName(string fullName)
{
if (fullName.Length <= 2) // 如果名字只有一两个字符,直接替换为*
return "*".Repeat(fullName.Length);
int middleIndex = fullName.Length / 2; // 计算中间位置
string firstHalf = fullName.Substring(0, middleIndex);
string secondHalf = "*".Repeat(middleIndex - 1) + "*" + fullName.Substring(middleIndex + 1); // 保留首尾,中间部分用*
return $"{firstHalf}{secondHalf}";
}
}
// 使用示例
string fullName = "张三";
string maskedName = NameMasking.DesensitizeName(fullName);
Console.WriteLine(maskedName);
```
在这个代码里,`DesensitizeName`方法接收一个全名字符串作为输入,然后根据描述的要求进行处理。如果名字长度小于等于2,就直接替换为星号;如果大于2,则保留首尾字符,将中间部分替换为星号。
阅读全文