1 回答
TA贡献1820条经验 获得超10个赞
根据文档,这是 的 func 模式:bycrypt.CompareHashAndPassword()
func CompareHashAndPassword(hashedPassword, password []byte) error
要使用它,您需要将(存储在数据库中的哈希密码)作为第一个参数值。hashedPassword
然后将 from 请求参数放入第二个参数。password
func loginData(w http.ResponseWriter, r *http.Request) {
email := r.FormValue("email")
password := r.FormValue("password")
match := database.Findaccount(email, password)
if match == false {
fmt.Println("false")
} else {
fmt.Println("true")
}
}
func Findaccount(myEmail, myPassword string) bool {
collection := Connect.Database("WebApp2").Collection("dataStored")
if err := collection.FindOne(context.TODO(), bson.M{"email": myEmail}).Decode(&Account); err != nil {
fmt.Println("Enter the correct email or password")
}
err := bcrypt.CompareHashAndPassword([]byte(Account.Password), []byte(myPassword))
return err == nil
}
参见 ,语句的第一个参数被填充,它是存储在 db 上的哈希密码。Findaccount()bcrypt.CompareHashAndPassword()Account.Password
- 1 回答
- 0 关注
- 89 浏览
添加回答
举报