在 Laravel 环境中使用 CakePHP 中散列的密码

Using passwords hashed in CakePHP in Laravel environment

目前我正在重建现有网站,旧网站是用 CakePHP 编写的,但新网站是 Laravel。

老用户必须能够使用他们在旧网站上使用的相同密码登录,但这些密码在 CakePHP 中进行了哈希处理。

我的问题是:

Is there a method which would enable me use the CakePHP way of passwordhashing in Laravel?

我曾尝试寻找可以实现此目的的软件包,但无济于事。

我在从 Drupal 站点迁移时遇到了类似的问题。所以它应该适用于此,从现在开始我将使用 CakePHP 而不是 Drupal。我不知道您是否使用像 Sentry 这样的软件包来处理用户帐户,或者它是否是自己开发的。

我最后做的是向我的用户 table 添加第二个密码字段 (cakephp_password),其中包含导入的散列密码。

然后在登录过程中,我检查了cakephp_password字段是否为空。如果是我通过 CakePHP hash function 传递了用户输入的密码,我将其添加到处理登录的 Class 中。然后,我将 CakePHP 函数的散列值与 cakephp_password 中的散列值进行了比较。如果哈希值匹配,我通过 laravel 用户管理 class 的哈希函数传递用户密码(在我的例子中是 Sentry),并将计算出的哈希值添加到用户的 password 字段中,删除了 cakephp_password 字段中的散列。

现在我可以像任何用户一样正常调用登录过程。