https://pkg.go.dev/golang.org/x/crypto/bcrypt
bcrypt实现Provos和Mazières的bcrypt自适应哈希算法

Constants

  1. const (
  2. MinCost int = 4 // 传入GenerateFromPassword的最小允许成本
  3. MaxCost int = 31 // 传入GenerateFromPassword的最大允许成本
  4. DefaultCost int = 10 // 如果将低于MinCost的成本传递到GenerateFromPassword中,则实际设置的成本
  5. )

Variables

  1. 当哈希太短而不是bcrypt哈希时,从CompareHashAndPassword返回的错误
  2. var ErrHashTooShort = errors.New("crypto/bcrypt: hashedSecret too short to be a bcrypted password")
  3. 当密码和哈希不匹配时,从CompareHashAndPassword返回的错误
  4. var ErrMismatchedHashAndPassword = errors.New("crypto/bcrypt: hashedPassword is not the hash of the given password")

func CompareHashAndPassword(hashedPassword, password []byte) error

  • 将bcrypt哈希密码与其可能的明文等效密码进行比较。成功时返回nil,失败时返回错误

func Cost(hashedPassword []byte) (int, error)

  • 返回用于创建给定哈希密码的哈希开销

func GenerateFromPassword(password []byte, cost int) ([]byte, error)

  • 以给定的代价返回密码的bcrypt哈希。如果给定的成本小于MinCost,则成本将改为DefaultCost