nor*_*gon 4 passwords cryptography bcrypt
我正在使用bcrypt在我的数据库中存储密码,使用工作因子7,在我合理的现代笔记本电脑上使用大约0.02秒来散列单个密码.
Coda Hale表示,使用bcrypt可以让你通过调整工作因素来"跟上摩尔定律".但是没有办法重新加密用户的密码,因为我没有存储明文.如何让我的数据库保持最新并且难以破解(假设它会延续5年以上,这将成为一个问题)?
登录时重新加密.请参阅最佳bcrypt工作因子.
请记住,该值存储在密码中:
$2a$(2 chars work)$(22 chars salt)(31 chars hash).它不是固定值.如果您发现负载过高,只需在下次登录时进行加密,就可以更快地加密计算.同样,随着时间的推移,您可以获得更好的服务器,如果负载不是问题,您可以在登录时升级其哈希的强度.
诀窍在于,随着摩尔定律,它将永远保持与未来相同的时间.数字是log2,因此每次计算机速度加倍时,将默认数字加1 ...