我受雇在新的 PHP 5.3 服务器上使用 Laravel 4 重建基于 CodeIgniter 1.7.3(在 PHP 4.2 服务器上)构建的活跃应用程序。
该系统有大约 500 名用户,他们的密码使用加盐 SHA-1 哈希加密。我想使用 bcrypt 来提高应用程序的安全性以及与 Laravel 4 的身份验证系统集成。
您建议如何迁移这些用户密码?
最佳答案
散列的全部意义在于您无法恢复原始密码。
你有三个选择:
存储 SHA1 散列的 bcrypt 散列,然后在每次登录时对密码进行 bcrypt 之前对每个密码进行 SHA1 散列。
这可能不是一个好主意。在用户下次登录时升级每个散列。(以便您拥有要散列的纯文本)
这是最佳选择,但您需要保留 SHA1 哈希值和转换代码,直到每个用户都登录为止将每个用户重置为随机 bcrypted 密码,并强制他们全部使用忘记密码来更改密码。
你可能不想这样做
关于php - 将用户密码从加盐 SHA1 升级到 bcrypt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19161828/