laravel bcrypt功能是否有替代功能

时间:2019-01-22 09:00:37

标签: php laravel

我现在有一个laravel应用程序,现在我要在核心php中构建它,由于登录密码是通过laravel中的bcrypt方法加密的,因此我在登录页面中遇到了问题。帮助我通过核心php验证加密密码

我尝试了password_hash('admin@12', PASSWORD_BCRYPT),但是仍然没有找到解决方案:纯文本为admin @ 12,加密文本为$ 2y $ 10 $ EHC8pQIUSYIBas943P6HEOEvZlQYAxI2zVGkwQiAkLTIDZrhbe6VG enter image description here

\Session::flash('success', 'Your Account is activated please login to continue.');

User::create([
            'username' => $request['username'],

            'password' => bcrypt($request['password']),

            'name' => $request['name'],

           'card_number' => $request['card_number'],

            'email' => $request['email'],

            'phone' => $request['phone'],

            'cnic' => $request['cnic'],

            'address' => $request['address'],

            'role' => "registered",
        ]);

1 个答案:

答案 0 :(得分:4)

解决方案很简单:password_verify($password, $hash)

http://php.net/manual/en/function.password-verify.php

它可以与不同的算法一起工作,而无需指定事件(它读取哈希中的元信息)-并且它支持bcrypt。

要创建密码,请按照建议使用password_hash($value, PASSWORD_BCRYPT);在这里https://github.com/laravel/framework/blob/f10fe3e4cb4824df35e3e9d2e5d6756271f083ba/src/Illuminate/Hashing/BcryptHasher.php#L45,您可以找到Laravel解决方案(仅添加了cost选项)