This commit is contained in:
VicRen
2021-01-15 09:04:30 +08:00
parent e8203bf4fa
commit 19fdadd3ec
2 changed files with 94 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
package main
import "strings"
func main() {
}
func maskPII(s string) string {
if strings.Contains(s, "@") {
return maskEmail(s)
}
return maskPhone(s)
}
func maskEmail(s string) string {
ss := strings.Split(s, "@")
name := ss[0]
name = strings.ToLower(name)
sb := strings.Builder{}
sb.WriteByte(name[0])
sb.WriteString("*****")
sb.WriteByte(name[len(name)-1])
return sb.String() + "@" + strings.ToLower(ss[1])
}
func maskPhone(s string) string {
sb := strings.Builder{}
for _, c := range s {
if c >= '0' && c <= '9' {
sb.WriteByte(uint8(c))
}
}
phone := sb.String()
sb = strings.Builder{}
ccLen := len(phone) - 10
if ccLen > 0 {
sb.WriteString("+")
for i := 0; i < ccLen; i++ {
sb.WriteString("*")
}
sb.WriteString("-")
}
sb.WriteString("***-***-")
sb.WriteString(phone[len(phone)-4:])
return sb.String()
}