如何比较 laravel 中的两个加密 (bcrypt) 密码
How to compare two encrypted(bcrypt) password in laravel
如何比较两个bcrypt密码
$pass1 = 'y$ooPG9s1lcwUGYv1nqeyNcO0ccYJf8hlhm5dJXy7xoamvgiczXHB7S';
和
$pass2 = 'y$QRgaiS6bpATKKQeT22zGKuHq.edDfXQc2.4B3v.zaN.GtGwoyQuMy';
$pass1 和 $pass2 都是 'test' 的 bcrypt。
我如何检查相等性。不使用像这样的文本 'test'
$hash1 = Hash::make('test');
$hash2 = Hash::make('test');
var_dump(Hash::check('test', $hash1) && Hash::check('test', $hash2));
您实际上不能将两个加密的 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
和第二个 bcrypt
值。
Hash::check('test', bcrypt('test'))
如何比较两个bcrypt密码
$pass1 = 'y$ooPG9s1lcwUGYv1nqeyNcO0ccYJf8hlhm5dJXy7xoamvgiczXHB7S';
和
$pass2 = 'y$QRgaiS6bpATKKQeT22zGKuHq.edDfXQc2.4B3v.zaN.GtGwoyQuMy';
$pass1 和 $pass2 都是 'test' 的 bcrypt。
我如何检查相等性。不使用像这样的文本 'test'
$hash1 = Hash::make('test');
$hash2 = Hash::make('test');
var_dump(Hash::check('test', $hash1) && Hash::check('test', $hash2));
您实际上不能将两个加密的 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
和第二个 bcrypt
值。
Hash::check('test', bcrypt('test'))