这个问题适用于使用配置了BCrypt的Spring Security生成的Grails应用程序。
为了跟上提高服务器CPU速度的步伐,我想提高grails.plugin.springsecurity.password.bcrypt.logrounds
属性的值,以便密码哈希需要更长的时间,并且不易受到攻击。
首先想到的是,我认为这是一项艰巨的任务,需要在用户登录或大规模重新编码和自定义登录处理程序时采用涓涓细流的方法,但在运行之间在本地尝试时它似乎没有任何其他更改(使用持久数据库,模拟非本地部署。)
我猜这是因为logrounds存储在密码哈希中:例如,当在本地运行之间从10到20时,密码看起来如下
$2a$10$i/PEPcvSj...
< - 当logrounds设置为10时创建的帐户
'$2a$20$3GGujw6o...
< - 当logrounds设置为20时创建的帐户
我测试过:
logrounds
设置有没有理由不继续进行更改?这里的高度谨慎是因为以任何方式阻止生产登录的错误将是非常昂贵的
答案 0 :(得分:0)
一切都按预期工作,所以答案是肯定的,你可以。您可以更改loground而不会影响现有帐户,因为用于生成哈希的loground内置于哈希中。 BCrypt的好功能