1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| package main import ( "fmt" "golang.org/x/crypto/bcrypt" ) func PasswordHash(password string) (string, error) { bytes, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost) return string(bytes), err } func PasswordVerify(password, hash string) bool { err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password)) return err == nil } func main() { password := "123456" hash, _ := PasswordHash(password) fmt.Println("密码:", password) fmt.Println("hash:", hash) match := PasswordVerify(password, hash) fmt.Println("验证:", match) }
|