我正在开发一个网站的框架翻译。我已将它从Yii php框架翻译成Laravel。我有一个现有的数据库,我必须提供现有用户对新网站的登录访问权限。问题是现在我正在使用Laravel,而Laravel不能识别前一个框架的散列值。即在Yii框架中通过某种方法散列存储在数据库中的值。有没有办法解决这个问题。我在Laravel中使用Auth :: attempt()方法。
答案 0 :(得分:2)
你不能......简单明了......
哈希不是加密。哈希是一种方法,你可以通过采用大文件的md5或shasum来证明这一点,因为文件的大小比哈希输出大,所以不能恢复鸽子原则哈希值。
你可以尝试使用密码列表对其进行彩虹表示,但这不会影响用户安全。
您可能需要找到一种方法将Yii的auth模块混合到Laravel中,或者使用某种中间人认证位...或者只是让每个人都更改密码。
答案 1 :(得分:1)
Yii框架通过crypt函数生成密码哈希值,并根据documentation生成BCrypt哈希值。您可以通过查看哈希值来轻松查看,BCrypt哈希值以$2y
开头。
因此,Laravel实际上应该能够使用哈希检查密码,如果找不到集成在Laravel中的方法,你肯定可以使用password_verify()函数检查哈希值。