fix maskname

This commit is contained in:
liangzai 2025-04-08 16:10:19 +08:00
parent 95ab1296a8
commit 729eba889d

View File

@ -277,16 +277,25 @@ func containsSensitivePattern(value string) bool {
// 姓名脱敏 // 姓名脱敏
func maskName(name string) string { func maskName(name string) string {
if len(name) <= 1 { // 将字符串转换为rune切片以正确处理中文字符
runes := []rune(name)
length := len(runes)
if length <= 1 {
return name return name
} }
if len(name) == 2 {
return string(name[0]) + "*" if length == 2 {
// 两个字:保留第一个字,第二个字用*替代
return string(runes[0]) + "*"
} }
// 中文姓名常见3-4个字只显示第一个字
first := string(name[0]) // 三个字及以上:保留首尾字,中间用*替代
mask := strings.Repeat("*", len(name)-1) first := string(runes[0])
return first + mask last := string(runes[length-1])
mask := strings.Repeat("*", length-2)
return first + mask + last
} }
// 身份证号脱敏 // 身份证号脱敏