问题 laravel密码盐存储在哪里?


Laravel使用 bcrypt 哈希密码。

根据这篇文章,在这个过程中的某些方面, Hash::make function创建并使用22长度的随机字符串作为salt来生成密码。

对于单个不同的密码, Hash::make 确实返回了独特的哈希值,暗示它确实在过程中的某处使用了某种盐析。

但是这些盐并没有存储在用户表中,我希望它们存在于用户表中。 laravel如何知道用于验证密码的相应哈希?

Laravel Hash解释


10356
2017-08-16 01:12


起源



答案:


您链接的文章似乎包含答案。 https://mnshankar.wordpress.com/2014/03/29/laravel-hash-make-explained/

这个的聪明之处在于算法,盐和成本   嵌入到哈希中,因此可以很容易地解析出来   用于重建/验证的个别组件(请参阅   php crypt源代码的相关部分    https://github.com/php/php-src/blob/master/ext/standard/crypt.c#L258)。   因此,您无需单独存储盐/成本   数据库表。


12
2017-08-16 02:17