laravel密码盐存储在哪里?
Laravel用于散列密码。bcrypt
根据本文,在流程中的某个时刻,该函数创建并使用22长度的随机字符串作为盐来生成密码。Hash::make
对于单个不同的密码,确实返回唯一的哈希值,暗示它确实在过程中的某个地方使用了某种盐渍。Hash::make
但是这些盐没有存储在用户表中,我期望它们在那里。laravel如何知道用于验证密码的适当哈希?
Laravel用于散列密码。bcrypt
根据本文,在流程中的某个时刻,该函数创建并使用22长度的随机字符串作为盐来生成密码。Hash::make
对于单个不同的密码,确实返回唯一的哈希值,暗示它确实在过程中的某个地方使用了某种盐渍。Hash::make
但是这些盐没有存储在用户表中,我期望它们在那里。laravel如何知道用于验证密码的适当哈希?
您链接的文章似乎包含答案。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密码源代码的相关部分)。因此,您不需要将盐/成本单独存储在数据库表中。