登录
首页 >  Golang >  Go问答

golang.org/x/crypto/bcrypt 哈希生成过程中的异常情况

来源:stackoverflow

时间:2024-03-19 08:57:31 150浏览 收藏

**文章首段摘要:** golang.org/x/crypto/bcrypt 库的 GenerateFromPassword 函数用于生成密码哈希值。除了因成本超出范围 (4, 31) 而返回错误外,该函数还可能因以下原因返回错误: * 成本低于最小成本时,将成本设置为默认值。 * 成本高于最大成本时,返回错误。 * 无法从安全随机数生成器中读取数据。

问题内容

这是使用 bcrypt 生成哈希密码的函数

funcGenerateFromPassword(密码[]字节,成本int)([]字节,错误)

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

在哪种情况下,该函数会返回除成本超出范围 (4, 31) 之外的错误?奇怪的是,他们在低于最低成本时将成本设置为默认值,但在成本高于最大成本时返回错误,这背后有什么原因吗?


解决方案


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

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>