J'utilise cette bibliothèque golang.org/x/crypto/bcrypt pour hacher le mot de passe et comparer le hachage avec le mot de passe, mais j'ai un problème, voir ci-dessous :
fichier main.go
package main
import (
"./hash"
)
func main() {
password := "passwd"
hash := "hhhhhhhhaaaaaaaaaassssssssssshhhhhhhhhhh"
check := hash.CheckPasswordHash(password, hash)
}
Fichier hash/hash.go
package hash
import "golang.org/x/crypto/bcrypt"
func HashPassword(password string) (string, error) {
bytes, err := bcrypt.GenerateFromPassword([]byte(password), 14)
return string(bytes), err
}
func CheckPasswordHash(password, hash string) bool {
err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password))
return err == nil
}
si vous l'exécutez :
$ go run main.go
Il affichera cette erreur :
./main.go:11:15 : hash.CheckPasswordHash undefined (type string has no champ ou méthode CheckPasswordHash)
pourquoi cette erreur ?