Php Laravel 5.2 Bcrypt断裂,因此认证断裂

Php Laravel 5.2 Bcrypt断裂,因此认证断裂,php,laravel,bcrypt,Php,Laravel,Bcrypt,所以我不知道发生了什么,但这里有一些乐趣给你。如果我这样做 return bcrypt('hello'); exit(); 然后运行3次这是我得到的结果: 第一:2y$10$t11Ifkkhaixi0srhjmxkesqqtze8zbvznwdlrxfsdccxkiq/n7W 第二名:$2y$10$DpKVtgbF4OVa3jm.wdG5..jb9AvXsuo2EfqnjuzmsEVCmcOVr5nKq 第三名:$2y$10$0.ziFneJu0wrS2b3rHA6kucnGBkS2MRtgf

所以我不知道发生了什么,但这里有一些乐趣给你。如果我这样做

return bcrypt('hello');
exit();
然后运行3次这是我得到的结果:

第一:
2y$10$t11Ifkkhaixi0srhjmxkesqqtze8zbvznwdlrxfsdccxkiq/n7W

第二名:
$2y$10$DpKVtgbF4OVa3jm.wdG5..jb9AvXsuo2EfqnjuzmsEVCmcOVr5nKq

第三名:
$2y$10$0.ziFneJu0wrS2b3rHA6kucnGBkS2MRtgfp0gtEb/7ZOCV8dG3Mmq

我被难住了。在laravel 5.1工作-不知道是不是我的错。对不起。还有其他人有这个问题吗?有解决办法吗

如果我得到答案没什么大不了的,5.2不是很好,我要回到拉威尔5.1,因为a)它更稳定,B)它是在泰勒·奥特威尔让吉本斯参与项目之前开发的。尽管我会问,万一有人发现了这个,并修复了其他偷看它

您想使用该函数吗

要解释这是如何工作的,你可能想看看维基百科

例如,影子密码记录 $2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy指定 成本参数为10,表示210个关键扩展回合。盐 是n9qo8uloickkgx2zmrzomye,结果哈希是 IjZAgcfl7p92ldGxad68LJZdL17lhWy。根据标准惯例,用户的 密码本身不被存储

还有更多的阅读

要进行更多阅读

您需要使用该功能

要解释这是如何工作的,你可能想看看维基百科

例如,影子密码记录 $2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy指定 成本参数为10,表示210个关键扩展回合。盐 是n9qo8uloickkgx2zmrzomye,结果哈希是 IjZAgcfl7p92ldGxad68LJZdL17lhWy。根据标准惯例,用户的 密码本身不被存储

还有更多的阅读


更多阅读

你的问题是什么?这就是一个好的密码散列系统的工作原理,它不仅仅是做一个简单的
md5
或类似的事情,这与Linux中计算密码的方式相同,你仍然可以使用它们进行身份验证,但这取决于你试图做什么。看看
Hash::check
函数,简单的字符串比较不会减少它。你是怎么做到的你确认bcrypt坏了吗?如果所有三个时间bcrypt都返回相同的值,那么它是否安全?因为之前我只需要对它进行散列以检查它(就像Mark在md5中所说的那样)。我知道laravel有自己的bcrypt实现(或php dose),因为在使用node尝试bcrypt时,我无法安装它(您可以看到windows)。您的问题是什么?这就是一个好的密码散列系统的工作原理,它不仅仅是做一个简单的
md5
或类似的事情,这与Linux中计算密码的方式相同,你仍然可以使用它们进行身份验证,但这取决于你试图做什么。看看
Hash::check
函数,简单的字符串比较不会减少它。你是怎么做到的你确认bcrypt坏了吗?如果所有三个时间bcrypt都返回相同的值,那么它是否安全?因为之前我只需要对它进行散列以检查它(就像Mark在md5中所说的那样)。我知道laravel有自己的bcrypt实现(或php dose),因为在使用node尝试bcrypt时,我无法安装它(您可以看到windows)。
Hash::check('hello', '$2y$10$T11IfKkHIAIXi0SRhjMXKeSQQtze8zBVZnWdlRXfsSdcCXKIq/n7W');

=> true

Hash::check('not-hello', '$2y$10$T11IfKkHIAIXi0SRhjMXKeSQQtze8zBVZnWdlRXfsSdcCXKIq/n7W');

=> false

Hash::check('hello', '$2y$10$DpKVtgbF4OVa3jm.wdG5..jb9AvXsuo2EfqnjuzmsEVCmcOVr5nKq');

=> true

Hash::check('hello', '$2y$10$0.ziFneJu0wrS2b3rHA6kucnGBkS2MRtgfp0gtEb/7ZOCV8dG3Mmq');

=> true

Hash::check('hello', '$2y$10$0.ziFneJu0wrS2b3rHA6kucnGFkS2MRtgfp0gtEb/7ZOCV8dG3Mmq');

=> false