2017-03-08 142 views
5

我创建了一个新的流明5.4项目并试图播种一些数据。在播种机中,我用bcrypt来散列密码。但是,当我运行php artisan db:seed,我得到这个错误:Bcrypt不能在流明中工作5.4

Call to undefined function bcrypt() 

为什么我不能使用bcrypt管腔?我之前在Laravel中使用过它。

回答

12

你可以尝试:

app('hash')->make('yourpassword'); 
+0

没错,这或多或少是bcrypt实现的解决方法,但为什么不直接使用它呢? – JackSlayer94

+0

真的我不知道,但我知道是'bcrypt()'在其源代码返回此返回应用程序('散列') - >使($价值,$选项);' –

+0

好吧谢谢!可能值得补充的是,这是一项解决方案,所以人们会意识到这一点。 – JackSlayer94

-2

至于你提到的bcrypt()不存在流明。作为另一个解决方法,既然你提到在流明中播种,你可以在\ Faker \ Generator中使用这个密码: $faker->password

+0

是的,所以你不会知道生成的密码,你将无法使用生成的用户测试脚本。不。 – Sergiu

+0

@Sergiu有许多用例不会用生成的用户登录;我相信这个方案是可行的,特别是在这些情况下。所问的问题实际上并未限制使用生成的用户测试脚本的需求,因此此方法是有效的。 – kakoma

+0

我不同意,在测试/开发环境中,出于显而易见的原因,对所有用户使用相同的密码总是一个好习惯。在生产环境中,你不会使用Faker。 – Sergiu