gpt4 book ai didi

security - 为什么 BCrypt 生成的哈希是不确定的

转载 作者:行者123 更新时间:2023-12-02 21:40:33 25 4
gpt4 key购买 nike

我过去使用过许多不同的哈希算法,我的印象是它们都是确定性的。

我刚刚将一些代码切换为使用 BCrypt.Net,我不得不承认,当我的所有比较测试都失败时,我完全被难住了。

在我的测试中寻找错误一段令人尴尬的时间后,我意识到我关于哈希值是确定性的假设是完全错误的。有一种有效的验证方法,并且很容易修复代码,但我想更好地了解发生了什么。

是在内部对值加盐还是发生了其他事情?

enter image description here

  • 请注意,我在真实代码中加盐 - 这只是一个测试

最佳答案

Is it salting the values internally

是的。 bcrypt 不仅仅是一个原始哈希函数,它包括盐和一些其他位,允许在没有额外输入的情况下验证哈希:

$2a$12$q6r.MpvzPrUszrWLgaRdlOs04kPcjk0syCDelrzES9O8.UNlHON.u
^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^
| | \- salt
| \---- work factor
\------- format

您使用的 API 不会公开它,因为您通常不需要操作盐,但它就在那里,您不需要添加自己的盐。

关于security - 为什么 BCrypt 生成的哈希是不确定的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32918460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com