所以我不知道发生了什么,但是对你来说很有趣。如果我这样做
return bcrypt('hello');
exit();
并运行3次这是我回来的:
1st:$2y$10$T11IfKkHIAIXi0SRhjMXKeSQQtze8zBVZnWdlRXfsSdcCXKIq/n7W
第二名:$2y$10$DpKVtgbF4OVa3jm.wdG5..jb9AvXsuo2EfqnjuzmsEVCmcOVr5nKq
第3名:$2y$10$0.ziFneJu0wrS2b3rHA6kucnGBkS2MRtgfp0gtEb/7ZOCV8dG3Mmq
我很难过。在laravel 5.1工作 - 不知道这是不是我的错。对不起。还有谁有相同的问题吗?它有解决方法吗?
如果得到答案并不重要,5.2 < shite 不是很好,我会回到laravel 5.1,因为A)它更稳定而且B)它是在Taylor Otwell让Gibbons参与该项目之前开发的。虽然我问过,有人遇到过这个问题并将其修复为其他偷看。
答案 0 :(得分:6)
您想使用Hash::check
功能
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
要解释其工作原理,您可能需要查看维基百科page
例如,影子密码记录 $ 2a $ 10 $ N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy指定 成本参数为10,表示2 10 关键的扩展轮次。盐 是N9qo8uLOickgx2ZMRZoMye,结果是哈希 IjZAgcfl7p92ldGxad68LJZdL17lhWy。按照标准做法,用户可以使用 密码本身不存储。
还有更多阅读Do any security experts recommend bcrypt for password storage?
更多阅读Storing User Passwords Securely: hashing, salting, and Bcrypt