diff --git a/auth.go b/auth.go index 5b46007..de90383 100644 --- a/auth.go +++ b/auth.go @@ -61,19 +61,18 @@ func ValidatePassword(pwd string) bool { if len(pwd) < 8 { return false } - var hasUpper, hasLower, hasDigit, hasSpecial bool + var hasUpper, hasLower, hasDigit bool for _, ch := range pwd { - if ch >= 'A' && ch <= 'Z' { + switch { + case ch >= 'A' && ch <= 'Z': hasUpper = true - } else if ch >= 'a' && ch <= 'z' { + case ch >= 'a' && ch <= 'z': hasLower = true - } else if ch >= '0' && ch <= '9' { + case ch >= '0' && ch <= '9': hasDigit = true - } else if strings.ContainsAny(string(ch), "!@#$%^&*()_+-=[]{}|;:,.<>?") { - hasSpecial = true } } - return hasUpper && hasLower && hasDigit && hasSpecial + return hasUpper && hasLower && hasDigit } func InitAdminUser() { @@ -93,7 +92,7 @@ func InitAdminUser() { username = "admin" } for { - log.Print("密码 (至少8位,含大小写、数字、特殊字符): ") + log.Print("密码 (至少8位,含大小写、数字): ") var password string fmt.Scanln(&password) if ValidatePassword(password) { @@ -111,7 +110,7 @@ func InitAdminUser() { break } else { log.Println("❌ 密码不符合复杂度要求,请重新输入") - log.Println(" 要求: 至少8位,包含大小写字母、数字和特殊字符") + log.Println(" 要求: 至少8位,包含大小写字母、数字") } } }