golang.org/x/crypto/bcrypt生成哈希时的错误情况

时间:2019-07-15 03:19:22

标签: go error-handling bcrypt

此功能是使用bcrypt

生成哈希密码的功能

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

  

GenerateFromPassword以给定的成本返回密码的bcrypt哈希。如果给定的成本小于MinCost,则将成本设置为DefaultCost。使用此程序包中定义的CompareHashAndPassword将返回的哈希密码与其明文版本进行比较。

在哪种情况下,此函数返回的错误不是成本超出范围(4,31)?奇怪的是,当成本低于最低成本时,他们将成本设置为默认值,但是当成本高于最高成本时,返回错误,这是什么原因造成的?

1 个答案:

答案 0 :(得分:1)

除了针对错误的参数返回错误之外,如果该函数无法从安全随机数生成器中读取该函数,则还会返回错误。