web-dev-qa-db-ja.com

laravelで2つの暗号化された(bcrypt)パスワードを比較する方法

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));
13
Jija

暗号化にはソルトが含まれるため、ハッシュが毎回異なるため、実際には2つの暗号化されたbcryptパスワードを文字列として直接比較することはできません。

5
Joseph
if(Hash::check('plain-text-password',$cryptedpassword)) {
    // Right password
} else {
    // Wrong one
}
21
Martin

単純にHash::check()メソッドを使用できます。例:

if(Hash::check('plain-text', $hashedPassword)) {
    return true;
}

参照 https://laravel.com/docs/5.5/hashing

5
Rahul Reghunath

あなたはこの方法を試すことができます:

if (Hash::check('test', bcrypt('test'))) {
    return 'match!!';
}else{
    return 'not match!!';
}
2
bharat

Hashを使用して、パスワードとハッシュ暗号化を比較できます。

ただし、このメソッドでは、最初の値はplain-textおよび2番目のbcrypt値。

Hash::check('test', bcrypt('test'))
1
pankaj kumar