Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Hash::make不';t为相同的输入生成相同的值_Php_Hash_Laravel 5 - Fatal编程技术网

Php Hash::make不';t为相同的输入生成相同的值

Php Hash::make不';t为相同的输入生成相同的值,php,hash,laravel-5,Php,Hash,Laravel 5,我的代码$pass和$confirm\u pass具有相同的输入,但在散列后具有不同的值 $pass = '12345678'; $Password = **Hash::make**($pass); //after hashing: $2y$10$acEYvpJSbaftfrabwBCNruCW32lkJejBdT92jQVSNIMeL7gtPvseK $confirm_pass = '12345678'; $Password_Confirmation = **Hash::make**($

我的代码
$pass
$confirm\u pass
具有相同的输入,但在散列后具有不同的值

$pass = '12345678';

$Password = **Hash::make**($pass);
//after hashing: $2y$10$acEYvpJSbaftfrabwBCNruCW32lkJejBdT92jQVSNIMeL7gtPvseK

$confirm_pass = '12345678';

$Password_Confirmation = **Hash::make**($confirm_pass);
//after hashing: $2y$10$HcCvNiwlZAUnt9RgQuXJ1.06H8ri8HdUa3tzbCCe9jvs3PtBHWGJK
经过验证后,我得到了这一行:

{“密码”:[“密码确认不匹配”“]}


从laravel安全文档中我找到了以下代码

要创建哈希密码,请使用以下代码

$password = Hash::make($pass);
并对其进行验证

if (Hash::check($pass, $password))
{
    // The passwords match...
}
更多文件可从

Hash::make()即使在密码相同的情况下也不会生成相同的哈希,因为每个哈希都是单独添加的,所以Hash::make()的每个输出都是不同的


正如Nishant所说,您需要使用
Hash::check()
来验证Hash

,密码和密码确认的比较应该在散列之前完成。我想补充的是,这是故意的,并且使散列函数更加安全。