【发布时间】:2012-08-22 07:49:31
【问题描述】:
我有一个现有的数据库,其中包含大约 160 万用户。目前密码存储为加盐 SHA1,我想将它们全部升级为加盐 SHA256。
到目前为止,我采用的方法是在每个用户登录时迁移他们,本质上是根据旧哈希验证他们的密码,如果匹配,则创建一个新的更强的哈希。这工作正常,但这是一个缓慢的过程。
据我所知,没有简单的方法可以简化此过程。有没有更好的办法?
【问题讨论】:
-
我建议切换到更面向未来的哈希,例如 bcrypt,更多信息在这里:stackoverflow.com/a/10963468/1217408
-
你的方法有什么问题。每次登录此过程所花费的额外时间非常微不足道,并且分布在相对较长的时间段内(我猜不是每个人都尝试一次登录)。您是否有理由需要每个人都立即使用新的哈希值?加盐的 SHA1 哈希非常安全,所以我无法想象有一个巨大的商业案例来加速这个过程。
标签: security