bcrypt -- 跟上摩尔定律



我使用bcrypt在我的数据库中存储密码,使用7的工作因子,在我相当现代的笔记本电脑上散列一个密码大约需要0.02秒。

Coda Hale说,使用bcrypt可以通过调整功因子来"跟上摩尔定律"。但是没有办法重新加密用户的密码,因为我没有存储明文。我如何保持我的数据库是最新的,难以破解(假设它挂了5年以上,这将成为一个问题)?

登录时重新加密。参见最优比特币功因子。

保存在密码:$2a$(2 chars work)$(22 chars salt)(31 chars hash)中。它不是一个固定值。

如果你发现负载太高,就这样做,所以下次他们登录时,你加密到更快的计算。同样,随着时间的推移,你得到了更好的服务器,如果负载不是问题,你可以在他们登录时升级他们的哈希强度。

诀窍是让它在未来永远保持大致相同的时间,遵循摩尔定律。这个数字是log2,所以每次计算机的速度翻倍时,在默认数字上加1

相关内容

  • 没有找到相关文章

最新更新