如何在将项目转换为Laravel后使用旧密码


How To Use Old Passwords After Converting Project to Laravel

我将我的项目转换为Laravel。我有一个存储密码哈希的现有数据。如果我上传这个项目到我的远程服务器。我的客户无法登录。他们必须使用忘记密码部分。

但这对我的客户不好。

我想使用bcrypt进行密码哈希,就像在Laravel中一样。但在我的旧体制中。我用了不同的方法。为了完全兼容,我不想更改Laravel的默认值。

也许我可以在数据库中创建一个不同的列。我可以存储一个月的新哈希。对于活跃用户,我可以获取新的哈希,并可以转换我的系统。

但这些都不是好的解决方案。你知道吗?

我解决这个问题的方法是创建一个旧哈希表。然后,当用户登录时,我检查他们是否还有一个旧的哈希。如果他们这样做了,我会尝试将其与旧的登录算法一起使用,如果成功,我会使用他们提供的密码来设置新的哈希并删除旧的哈希。如果他们没有旧的哈希,我就用新算法登录他们。