package user import ( "crypto/md5" "demo/configs" "demo/share" "fmt" "math/big" "strconv" ) func logins(username, password, t string) (configs.User, error) { user := configs.User{} var err error fmt.Println("username", username, "password", password) hash := md5.New() hash.Write([]byte("kkc-" + password)) pwd := Md5_KKC(password) fmt.Println("678", username, pwd, t) //md5摘要 if t == "email" { _, err = configs.Engine.Table("user").Where("email = ?", username).Where("password = ?", pwd).Get(&user) } else if t == "phone" { _, err = configs.Engine.Table("user").Where("phone = ?", username).Where("password = ?", pwd).Get(&user) } if err == nil { return user, err } return configs.User{}, err } func sendSms(matched bool, username string) { mins := big.NewInt(100000) maxs := big.NewInt(999999) randomNum := share.RandomInt(mins, maxs) if matched { //bools, err = configs.Engine.Table("user").Where("username = ?", username).Exist(&user) share.SendMail(username, strconv.Itoa(int(randomNum.Int64()))) } else { share.SendSms(strconv.Itoa(int(randomNum.Int64())), username) } } func Md5_KKC(str string) string { hash := md5.New() hash.Write([]byte("kkc-" + str)) return fmt.Sprintf("%x", hash.Sum(nil)) }