2つのbcryptパスワードを比較する方法
$pass1 = '$2y$10$ooPG9s1lcwUGYv1nqeyNcO0ccYJf8hlhm5dJXy7xoamvgiczXHB7S';
そして
$pass2 = '$2y$10$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));
暗号化にはソルトが含まれるため、ハッシュが毎回異なるため、実際には2つの暗号化されたbcryptパスワードを文字列として直接比較することはできません。
if(Hash::check('plain-text-password',$cryptedpassword)) {
// Right password
} else {
// Wrong one
}
単純にHash::check()
メソッドを使用できます。例:
if(Hash::check('plain-text', $hashedPassword)) {
return true;
}
あなたはこの方法を試すことができます:
if (Hash::check('test', bcrypt('test'))) {
return 'match!!';
}else{
return 'not match!!';
}
Hash
を使用して、パスワードとハッシュ暗号化を比較できます。
ただし、このメソッドでは、最初の値はplain-text
および2番目のbcrypt
値。
Hash::check('test', bcrypt('test'))