package main import ( "golang.org/x/crypto/bcrypt" ) // 密码加密 func HashPassword(password string) (string, error) { hash, err := bcrypt.GenerateFromPassword([]byte(password), 10) if err != nil { return "", err } return string(hash), nil } // 密码验证 func VerifyPassword(hashedPassword, password string) bool { err := bcrypt.CompareHashAndPassword([]byte(hashedPassword), []byte(password)) return err == nil } // 检查邮箱是否注册 func EmailExists(email string) bool { var count int64 DB.Model(&User{}).Where("email = ?", email).Count(&count) return count > 0 }