Đã tìm thấy vấn đề. khi tôi làm điều này:
echo strlen($hash)
nó được in 90, điều này thật kỳ lạ vì chắc chắn không có khoảng trắng ở cuối khi tôi in ra thông báo thành công / thất bại và trường có độ dài varchar là 255
Tôi đã thêm dòng này:
$hash = substr( $hash, 0, 60 );
Và bây giờ nó hoạt động tốt.
Thật kỳ lạ là không ai khác dường như đã gặp phải vấn đề này. Có những bài đăng tương tự về password_verify, nhưng không có bài đăng nào yêu cầu loại chuyển đổi này hoặc bất kỳ chuyển đổi nào cho vấn đề đó:
php password_verify không hoạt động
password_verify php không khớp
http://forums.phpfreaks.com/topic/ 283407-need-help-with-password-verify /
Sử dụng hàm password_hash và password_verify của PHP 5.5
Một điều làm tôi khó chịu là điều này ngăn mã tương thích về phía trước. Làm cách nào để biết rằng hàm băm dài 60 ký tự khi thay đổi mặc định?