laravel密码盐存储在哪里?

2022-08-30 22:17:25

Laravel用于散列密码。bcrypt

根据本文,在流程中的某个时刻,该函数创建并使用22长度的随机字符串作为盐来生成密码。Hash::make

对于单个不同的密码,确实返回唯一的哈希值,暗示它确实在过程中的某个地方使用了某种盐渍。Hash::make

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

Laravel Hash 解释


答案 1

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

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


答案 2

推荐