bcrypt高工作系数对密码匹配没有影响

gr8qqesn  于 2021-10-10  发布在  Java
关注(0)|答案(0)|浏览(208)

我想尝试一下SpringSecurity的以下建议,以调整工作系数,直到需要1秒来验证密码。
bcryptpasswordencoder的默认实现使用strength 10,如bcryptpasswordencoder的javadoc中所述。我们鼓励您在自己的系统上调整和测试强度参数,以便验证密码大约需要1秒的时间。
我发现bcrypt的默认工作系数是10,并且是散列密码本身的一部分,我更新了密码编码器的强度,如下所示:

BCryptPasswordEncoder(31);

并重置用户的密码,使其反映 $2a$31$... (强调31)然而,在数据库内部,当我尝试使用同一用户登录时,验证用户密码只需约50毫秒,这给我的印象是根本没有考虑工作因素。这很奇怪,因为我尝试了强度的极端值,即31。我尝试调试bcrypt密码匹配代码和 log_rounds 被正确设置为31。那么有人能解释一下为什么我在密码匹配速度上看不到一点差异吗?
它在MacBook2019上运行,带有2,6 ghz 6核intel core i7处理器。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题