Dan*_*Dan 0 php password-encryption
如果我理解正确,任何PHP升级,或移动到不同的服务器将使以前散列的密码(存储在数据库中)无用?因为新系统中的盐会有所不同.
这让我对自动生成盐的用例感到好奇.
password_hash()now(从PHP 7.1.*开始)仅bcrypt用于散列密码.Salt与哈希一起保存,因此升级或移动到另一台服务器不会使哈希无效.
正如@Jay Blanchard 在评论中所说,汽车盐是一种优势,因为你不需要关心.一切都方便自动处理.
你甚至不应该自己创造盐,因为在自己生成盐时也很容易出错(非随机盐,不正确的盐随机来源等).
此外,该salt选项在PHP 7.0.0的password_hash bcrypt算法中已弃用,因此PHP将始终使用自动生成的salt.