€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

dimanche 25 octobre 2026 Vol. I — No. 882 · Édition du matinÉdition du soir EN DE FR ES

PHP · RFC Watch

Un RFC PHP propose bcrypt avec HMAC SHA256

Sjoerd Langkemper propose d’ajouter PASSWORD_BCRYPT_SHA256 à password_hash() et password_verify() en PHP.

sélectionné par Sönke

bcrypt gère mal les octets nuls et ignore toute partie d’un mot de passe après les 72 premiers octets. Le RFC applique donc HMAC SHA256 avant bcrypt. Il fait suite aux critiques visant une proposition qui aurait rejeté les mots de passe trop longs.

Sjoerd Langkemper propose dans PHP Internals un nouvel algorithme, PASSWORD_BCRYPT_SHA256, pour password_hash et password_verify. Le mot de passe serait d’abord traité avec HMAC SHA256, puis le résultat transmis à bcrypt. Cette méthode vise deux limites du bcrypt actuel : sa gestion problématique des octets nuls et le fait qu’il ne prend en compte que les 72 premiers octets.

Le RFC est publié à l’adresse https://wiki.php.net/rfc/bcrypt_sha256. Son implémentation fait l’objet de la pull request 24073 dans PHP source, disponible sur https://github.com/php/php-src/pull/24073. Langkemper avait auparavant envisagé un RFC qui aurait fait échouer les mots de passe de plus de 72 octets. Cette idée a été critiquée pour son incompatibilité avec les comportements existants et ne sera pas poursuivie pour le moment. Le nouvel algorithme propose une modification moins perturbatrice. L’ancien RFC est décrit sur https://wiki.php.net/rfc/bcrypt_max_password_length.

Lire la source originale (en anglais) ↗

Évaluer cet article : 0

Tribune des lecteurs

Pas encore de contributions — lance le débat.

← The Daily CommitThe Nightly Build — Page A1