gpt4 book ai didi

php - bcrypt 功能说明

转载 作者:行者123 更新时间:2023-12-02 22:38:13 32 4
gpt4 key购买 nike

我正在使用 PHP 中的 bcrypt 研究散列和加盐密码。有人可以向我解释为什么 brcypt 使用“work”/“rounds”来防止攻击吗?

我已经读过“How do you use bcrypt for hashing passwords in PHP?”,但我很难理解是什么让它如此特别,如果有人掌握了您的数据库并可以离线破解它?

是否有可能将 salt 和 hash 结合起来以保护数据库免受彩虹表的影响?或者 bcrypt 是否做了一些特殊的事情来帮助防止这样的攻击?

最佳答案

简单地说,bcryptsha 系列等一些其他散列算法“更好”,因为它有意变慢,并且可以通过使用高迭代次数有意使其变慢。此外,它需要使用盐来防止使用预先计算的哈希值(彩虹表)。 salt 值应与 bcrypt 的每个输出一起生成/存储,以禁止比较不同用户的值(以防他们使用相同的密码)。

即使攻击者获得了您的密码哈希和盐,只要您对 bcrypt 的使用使用大量迭代,就不可能快速找到匹配的密码。这是一种单向函数,因此您需要为尝试的每个密码执行一次 bcrypt 计算。这当然不能防止错误的密码。

关于php - bcrypt 功能说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11129333/

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