首页 > 解决方案 > 有没有替代 laravel bcrypt 函数的函数

问题描述

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

我已经尝试password_hash('admin@12', PASSWORD_BCRYPT)仍然没有找到解决方案纯文本是 admin@12 和加密文本是 $2y$10$EHC8pQIUSYIBas943P6HEOEvZlQYAxI2zVGkwQiAkLTIDZrhbe6VG 在此处输入图像描述

\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",
        ]);

标签: phplaravel

解决方案


解决方案很简单: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选项)


推荐阅读