2016-09-13 3 views
0

Я пытаюсь использовать JWTAutnetication для создания спокойного api. После кода получает входной запрос поляmd5 hashed пароль переходит к переменной учетных данных JWTAuthentication

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

Пароль должен быть хэшируются с помощью md5, как это, как она хранится в БД.

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

Это сообщение содержит ошибку, поскольку оно не может совпадать с паролем, хранящимся в db. Поэтому я предполагаю, что если я смогу зашифровать пароль на шаге 1, шаг 2 сможет аутентифицироваться.

Как передать зашифрованную md5 переменную внутри переменной $ credential?

ответ

0

Я не уверен, что возвращается единственный метод, но я предполагаю, что это ассоциативный массив. Вы можете использовать встроенный mp5-метод php. Возможно, что-то вроде:

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

Если у вас есть контроль над алгоритмом хэширования, однако вы можете рассмотреть вопрос об изменении в нечто иное, чем md5, такие как Bcrypt, который PHP также поддерживает из коробки, так как 5.5 с функцией password_hash. MD5 уязвим для таких вещей, как атаки с ключевым столкновением, а у bcrypt есть некоторые приятные функции, такие как рабочий фактор, который может сделать его намного сложнее для грубой силы.

Смежные вопросы