正在清理 password_hash() 的密码

Sanitizing passwords for password_hash()

我正在阅读有关使用 password_hash() 时的空字节问题。这给了我两个问题:

您可以使用

进行测试
$hash = password_hash("\x00 abc", PASSWORD_DEFAULT);
var_dump(password_verify("\x00 foo", $hash)); // true ???

但是当从 ie 表单提交密码时,您会收到字符串'\x00 password',它将不会像“\x00 password”那样插入(单引号与双引号) .

$hash = password_hash("\x00 abc", PASSWORD_DEFAULT);
var_dump(password_verify('\x00 foo', $hash)); // false!