Het probleem gevonden. toen ik dit deed:
echo strlen($hash)
het drukte 90 af, wat vreemd is omdat er absoluut geen spaties aan het einde waren toen ik het succes/mislukkingsbericht afdrukte, en het veld heeft een varchar-lengte van 255
Ik heb deze regel toegevoegd:
$hash = substr( $hash, 0, 60 );
En nu werkt het prima.
Het is vreemd dat niemand anders dit probleem lijkt te zijn tegengekomen. Er zijn vergelijkbare berichten over password_verify, maar geen van hen vereiste dit type conversie, of welke conversie dan ook:
php password_verify werkt niet
password_verify php komt niet overeen
http://forums.phpfreaks.com/topic/ 283407-need-help-with-password-verify/
De functie password_hash en password_verify van PHP 5.5 gebruiken
Een ding dat me stoort, is dat dit voorkomt dat de code voorwaarts compatibel is. Hoe weet ik dat de hash 60 tekens lang is als de standaardwaarde verandert?