【发布时间】:2015-10-09 20:02:22
【问题描述】:
PHP manual 暗示使用 PASSWORD_DEFAULT 更加健壮,因为随着 PHP 的较新版本的发布,散列算法将保持最新。
但是,它没有提到旧哈希是否会在哈希算法更新后失败。大概他们会,因为哈希值会不同。然而,这对于毫无戒心的开发者来说似乎非常不友好,并且没有对此事发出警告。
PHP 是否会以某种方式在幕后优雅地处理这个问题,或者更新 PHP 的 PASSWORD_DEFAULT 会强制我的所有用户更改密码?
【问题讨论】:
-
散列包含用于生成散列的算法,因此老用户的散列应该继续工作,只要 PHP 支持该散列算法。哈希字符串开头的
$..$之间的内容是识别信息。