我将我的项目转换为Laravel。我有一个存储密码哈希值的现有数据。如果我将此项目上传到我的远程服务器。我的客户无法登录。他们必须使用忘记密码部分。
但这对我的客户来说并不好。
我想像在Laravel中一样使用bcrypt进行密码散列。但在我的旧系统中。我用了不同的方法。为了完全兼容,我不想在Laravel的默认值中更改任何内容。
可能是我可以在数据库中创建不同的列。我可以存储一个月的新哈希值。对于活跃用户,我可以获取新的哈希值,我可以转换我的系统。
但这些都不是好的解决方案。你有什么想法吗?
答案 0 :(得分:5)
我解决这个问题的方法是创建一个旧哈希表。然后,当用户登录时,我检查他们是否仍有旧哈希。如果他们这样做,我尝试使用旧的登录算法,如果成功,我使用他们提供的密码来设置新的哈希并删除旧的哈希。如果他们没有旧的哈希,我只需使用新算法登录。