在Laravel环境中使用CakePHP中的密码进行哈希处理

时间:2015-01-07 14:42:09

标签: cakephp laravel hash laravel-4

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

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

我的问题是:

  

是否有一种方法可以让我使用CakePHP方式   在Laravel中密码破解?

我曾尝试寻找能够实现这一目标的软件包,但无济于事。

1 个答案:

答案 0 :(得分:6)

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

我最终做的是在我的users表中添加第二个密码字段(cakephp_password),其中包含导入的散列密码。

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

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