gpt4 book ai didi

bcrypt - 最佳 bcrypt 工作因子

转载 作者:行者123 更新时间:2023-12-03 05:15:47 27 4
gpt4 key购买 nike

密码散列的理想 bcrypt 工作因素是什么。

如果我使用因子 10,则在我的笔记本电脑上对密码进行哈希处理大约需要 0.1 秒。如果我们最终得到一个非常繁忙的网站,那么仅仅检查人们的密码就会变成大量的工作。

也许最好使用 7 的工作因子,将每次笔记本电脑登录的总密码哈希工作减少到约 0.01 秒?

您如何决定强力安全性和运营成本之间的权衡?

最佳答案

请记住,该值存储在密码中:$2a$(2 chars work)$(22 chars salt)(31 chars hash)。它不是一个固定值。

如果您发现负载太高,只需将其设置为在他们下次登录时,您就可以加密到更快的计算速度。同样,随着时间的推移,您获得了更好的服务器,如果负载不是问题,您可以在他们登录时升级其哈希强度。

诀窍在于,按照摩尔定律,让它在未来永远花费大致相同的时间。 数字是 log2,因此每次计算机速度加倍时,默认数字加 1。

决定暴力破解用户密码所需的时间。例如,对于一些常见的字典单词,您的帐户创建可能已经警告他们密码很弱。例如,如果它是 1000 个常见单词之一,并且攻击者需要 0.1 秒来测试每个单词,那么攻击者就需要 100 秒(好吧,有些单词更常见......)。如果用户选择“常用词典单词”+ 2 个数字,则需要两个多小时。如果您的密码数据库遭到破坏,并且攻击者每天只能获得几百个密码,那么您就为大多数用户赢得了数小时或数天的时间来安全地更改其密码。这是为他们争取时间的问题。

http://www.postgresql.org/docs/8.3/static/pgcrypto.html有一些破解密码的时间供您考虑。当然,他们列出的密码是随机字母。字典单词...实际上,你无法拯救密码为 12345 的人。

关于bcrypt - 最佳 bcrypt 工作因子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4443476/

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