md5哈希密码传递给JWTAuthentication凭证变量

时间:2016-09-13 11:23:05

标签: php laravel

我正在尝试使用JWTAutnetication来创建restful api。 以下代码获取请求输入字段

//Step1:
$credentials = $request->only('email', 'password');

需要使用md5对密码进行哈希处理,因为这是存储在db中的方式。

//Step2:
$token = JWTAuth::attempt($credentials)

这是错误,因为它与db中存储的密码不匹配。所以我猜我是否可以在第1步加密密码,第2步就能验证。

如何在$ credential变量中传递md5加密变量?

1 个答案:

答案 0 :(得分:0)

我不确定返回的唯一方法是什么,但我假设它是一个关联数组。你可以使用php内置的md5方法。可能类似于:

$credentials['password'] = md5($credentials['password']);

如果您可以控制散列算法,但是您可以考虑更改为md5以外的其他内容,例如bcrypt,php也支持从5.5开始使用password_hash函数开箱即用。 MD5很容易受到关键碰撞攻击等攻击,而bcrypt有一些很好的功能,比如工作因素可以让暴力破解更加困难。