€0.00 — free as in speechtonight's forecast: clear skies over production Cache: warm · Deploys: fair, 0% rollbacks expectedset by moonlight, shipped before dawn · deploy freely Page A2

❦The Daily Commit❦ ☾The Nightly Build☽

Dev news, typeset daily — PHP · AI · The Wider Stack

The developer's evening paper — PHP · AI · The Wider Stack

Sonntag, 25. Oktober 2026 Vol. I — No. 882 · MorgenausgabeSpätausgabe EN DE FR ES

PHP · RFC-Watch

PHP-RFC setzt auf HMAC SHA256 vor bcrypt

Sjoerd Langkemper schlägt PASSWORD_BCRYPT_SHA256 für PHPs password_hash() und password_verify() vor.

kuratiert von Sönke

Das bisherige bcrypt-Verfahren kann Null-Bytes problematisch behandeln und verarbeitet nur die ersten 72 Bytes eines Passworts. Der RFC setzt deshalb HMAC SHA256 vor bcrypt ein. Er folgt auf Kritik an einem früheren Vorschlag, längere Passwörter mit einem Fehler abzulehnen, weil dies bestehendes Verhalten brechen würde.

Sjoerd Langkemper hat im PHP-Internals-Forum PASSWORD_BCRYPT_SHA256 als neuen Algorithmus für password_hash und password_verify vorgeschlagen. Dabei soll das Passwort zunächst mit HMAC SHA256 verarbeitet und das Ergebnis anschließend an bcrypt übergeben werden. Der Ansatz adressiert zwei Grenzen des bisherigen bcrypt-Verhaltens: Probleme mit Null-Bytes und die Beschränkung auf die ersten 72 Bytes einer Eingabe.

Der RFC steht unter https://wiki.php.net/rfc/bcrypt_sha256. Die zugehörige Implementierung ist als PHP-src-Pull-Request 24073 unter https://github.com/php/php-src/pull/24073 verlinkt. Zuvor hatte Langkemper einen RFC erwogen, der Passwörter mit mehr als 72 Bytes mit einem Fehler ablehnen sollte. Dieser Vorschlag stieß wegen seiner Rückwärtsinkompatibilität auf Kritik und wird vorerst nicht weiterverfolgt. Der neue Algorithmus soll das Problem mit einer weniger einschneidenden Änderung lösen. Der frühere Vorschlag ist unter https://wiki.php.net/rfc/bcrypt_max_password_length dokumentiert.

Originalquelle lesen (Englisch) ↗

Artikel bewerten: 0

Leserforum

Noch keine Beiträge — eröffne die Debatte.

← The Daily CommitThe Nightly Build — Page A1