Der Aufruf `password_verify` gibt false zurück, um das korrekte Passwort zu erhalten

Ich habe den folgenden Codeausschnitt:

// bcrypt hash of 'password'
$hash = '$2yAuf verschiedenen Systemen sind unterschiedliche Verschlüsselungsalgorithmen installiert, sodass sie möglicherweise unterschiedliche Algorithmen verwenden. Wenn Sie nicht angeben, welche unerwarteten Dinge passieren können. Sie müssen zuerst prüfen, welche Art der Verschlüsselung verwendet wurde, bevor Sie sie entschlüsseln oder vergleichen können.4u0cQ.WEnwHDo.C5Nl1vm.shKA0beQ32wqzphSfzklAq9OcDM2nLu';
if(password_verify('password', $hash)) {
    print_r('woohoo!');
}
else {
    print_r('fubar');
}

Auf einem Server funktioniert es einwandfrei (woohoo!), Auf einem anderen funktioniert es nicht.Ich habe es gerade auf codepad.org veröffentlicht und dort scheitert es auch.

Das Problem ist (wie auf dieser Codepad-Seite zu sehen ist), dass der Hash berechnet wurdecrypt ist von der Länge 13 anstelle der erforderlichen 60.

Ich benutzeDie password_compat-Bibliothek von ircmaxel auf Github nur die PHP 5.5 zu implementierenpassword_verify Funktion.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage