Как сравнить два зашифрованных (bcrypt) пароля в laravel
как сравнить два пароля bcrypt
$pass1 = 'y$ooPG9s1lcwUGYv1nqeyNcO0ccYJf8hlhm5dJXy7xoamvgiczXHB7S';
и
$pass2 = 'y$QRgaiS6bpATKKQeT22zGKuHq.edDfXQc2.4B3v.zaN.GtGwoyQuMy';
оба $pass1 & $pass2 являются bcrypt для "теста".
как я могу проверить равенство. не используя тестовый текст '' такой
$hash1 = Hash::make('test');
$hash2 = Hash::make('test');
var_dump(Hash::check('test', $hash1) && Hash::check('test', $hash2));
4 ответов
вы не можете сравнивать два зашифрованных пароля bcrypt друг с другом напрямую как строки, потому что шифрование содержит соль, которая каждый раз делает хэши разными.
Вы можете просто использовать Hash::check()
способ
например:
if(Hash::check('plain-text', $hashedPassword)) {
return true;
}
можно попробовать так:
if (Hash::check('test', bcrypt('test'))) {
return 'match!!';
}else{
return 'not match!!';
}