Laravel 5.2 Bcrypt因此打破了Auth

Ash*_*nch 0 php bcrypt laravel

所以我不知道发生了什么,但是对你来说很有趣.如果我这样做

return bcrypt('hello');
exit();
Run Code Online (Sandbox Code Playgroud)

运行3次这是我回来的:

第1名: $2y$10$T11IfKkHIAIXi0SRhjMXKeSQQtze8zBVZnWdlRXfsSdcCXKIq/n7W

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

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

我很难过.工作在laravel 5.1 - 不知道这是不是我的错.对不起.还有谁有相同的问题吗?它有解决方法吗?

没有多大关系,如果我得到一个答案,5.2是法士特不是很好,我搬回laravel 5.1,因为A)它更稳定,B)之前,泰勒Otwell让吉本斯在项目开发它.虽然我会问,有人遇到过这个问题并将其修复为其他偷看.

Mar*_*son 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
Run Code Online (Sandbox Code Playgroud)

要解释这是如何工作的,您可能需要查看Wikipedia 页面

例如,影子密码记录$ 2a $ 10 $ N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy指定成本参数10,表示2 10个密钥扩展轮次.盐是N9qo8uLOickgx2ZMRZoMye,得到的散列是IjZAgcfl7p92ldGxad68LJZdL17lhWy.根据标准做法,不存储用户的密码本身.

还有更多阅读是否有任何安全专家建议使用bcrypt进行密码存储?

安全地存储用户密码:哈希,盐析和Bcrypt