【发布时间】:2017-07-28 14:10:27
【问题描述】:
我创建了一个新的 Lumen 5.4 项目并尝试播种一些数据。在播种机中,我使用 bcrypt 对密码进行哈希处理。但是当我运行php artisan db:seed 时,我得到了这个错误:
Call to undefined function bcrypt()
为什么我不能在 Lumen 中使用 bcrypt?我之前在 Laravel 中使用过。
【问题讨论】:
我创建了一个新的 Lumen 5.4 项目并尝试播种一些数据。在播种机中,我使用 bcrypt 对密码进行哈希处理。但是当我运行php artisan db:seed 时,我得到了这个错误:
Call to undefined function bcrypt()
为什么我不能在 Lumen 中使用 bcrypt?我之前在 Laravel 中使用过。
【问题讨论】:
试试看,我的项目可以做的很好
function bcrypt($value, $options = [])
{
return app('hash')->make($value, $options);
}
【讨论】:
另一种解决方案是使用 Facades\Hash
use Illuminate\Support\Facades\Hash;
代码
'password' => Hash::make('your_password')
【讨论】:
尝试这样做
'password' => password_hash('123456', PASSWORD_BCRYPT)
【讨论】:
正如您所提到的,bcrypt() 在 Lumen 中不存在。作为另一种解决方法,由于您提到在 Lumen 中播种,您可以在 \Faker\Generator 中使用它作为密码:
$faker->password
【讨论】:
你可以试试:
app('hash')->make('yourpassword');
【讨论】:
bcrypt() 在它的源代码中返回这个return app('hash')->make($value, $options);