簡體   English   中英

如何比較laravel中的兩個加密(bcrypt)密碼

[英]How to compare two encrypted(bcrypt) password in laravel

如何比較兩個bcrypt密碼

$pass1 = '$2y$10$ooPG9s1lcwUGYv1nqeyNcO0ccYJf8hlhm5dJXy7xoamvgiczXHB7S';

$pass2 = '$2y$10$QRgaiS6bpATKKQeT22zGKuHq.edDfXQc2.4B3v.zaN.GtGwoyQuMy';

$pass1 和 $pass2 都是 'test' 的 bcrypt。

我如何檢查相等性。 不使用這樣的文本“測試”

$hash1 = Hash::make('test');
$hash2 = Hash::make('test');

var_dump(Hash::check('test', $hash1) && Hash::check('test', $hash2));
if(Hash::check('plain-text-password',$cryptedpassword)) {
    // Right password
} else {
    // Wrong one
}

您可以簡單地使用Hash::check()方法,例如:

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

參考https://laravel.com/docs/5.5/hashing

您實際上無法將兩個加密的 bcrypt 密碼直接作為字符串相互比較,因為加密包含使哈希值每次都不同的鹽。

你可以試試這個方法:

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

您可以使用Hash比較哈希加密密碼。

但請注意,在此方法中,第一個值應該是plain-text ,第二個是bcrypt值。

Hash::check('test', bcrypt('test'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM