Laravel как создать хеш sha256 с солью - PullRequest
1 голос
/ 07 ноября 2019

У меня есть работающее приложение, которое использует хеширование на стороне клиента Sha256.
Я бы хотел вместо этого использовать хеширование bcrypt на сервере Laravels.

Моя стратегия - обернуть все пароли с помощью bcrypt, поэтому я имею bcrypt(sha256('password')), а затем перефразируйте пароль, когда пользователь пытается войти в систему, поэтому у меня просто есть bcrypt('password').

Моя проблема заключается в аутентификации пользователя, когда он пытается войти в систему с паролем Sha256.

Я пытаюсь аутентифицировать их, запустив
if (hash('sha256', 'password' . 'salt') == $stored_pw)
Но безуспешно. Я точно уверен, что хеширование на стороне клиента просто добавляет соль, и я не уверен, добавляет ли функция Laravels hash свою собственную соль.

Вот хеш, созданный клиентом изпароль 1234567: $5$a0FpUG9JUgkj1d6H$eSSzXebYU87wPAWSTRJGyWw/kOMgDvPqcri4CI1QCV0
Я пытаюсь воссоздать тот же хеш, используя соль, пароль и хеш-функции Laravels.

Как указать, что функция Sha256 должна использовать определенную соль?

1 Ответ

1 голос
/ 07 ноября 2019

Попробуйте.

use phpseclib\Crypt\Hash;
or
use Hash

\Hash::make($request->password);

или

$hash = Hash::make('secret');

$input = 'secret';
if(Hash::check($input, $hash)){
    // the input matches the secret
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...