€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

domingo, 25 de octubre de 2026 Vol. I — No. 882 · Edición matinalEdición vespertina EN DE FR ES

PHP · RFC Watch

Un RFC de PHP propone bcrypt con HMAC SHA256

Sjoerd Langkemper propone incorporar PASSWORD_BCRYPT_SHA256 a password_hash() y password_verify() en PHP.

seleccionado por Sönke

bcrypt trata de forma problemática los bytes nulos y solo procesa los primeros 72 bytes de la contraseña. El RFC aplica HMAC SHA256 antes de bcrypt. La propuesta llega tras las críticas a una idea anterior que habría rechazado las contraseñas más largas.

Sjoerd Langkemper ha propuesto en PHP Internals un nuevo algoritmo, PASSWORD_BCRYPT_SHA256, para password_hash y password_verify. El diseño procesa primero la contraseña con HMAC SHA256 y después entrega el resultado a bcrypt. Con ello aborda dos limitaciones del bcrypt actual: los problemas con los bytes nulos y el límite de 72 bytes, ya que bcrypt solo incluye los primeros 72 bytes en el hash.

El RFC está disponible en https://wiki.php.net/rfc/bcrypt_sha256. La implementación se plantea en la pull request 24073 de PHP source, publicada en https://github.com/php/php-src/pull/24073. Langkemper había considerado antes un RFC que convertiría en error las contraseñas de más de 72 bytes. Esa opción recibió críticas por su incompatibilidad con el comportamiento existente y no seguirá adelante por ahora. El nuevo algoritmo plantea una modificación menos disruptiva para resolver el mismo problema. El RFC anterior figura en https://wiki.php.net/rfc/bcrypt_max_password_length.

Leer la fuente original (en inglés) ↗

Valora este artículo: 0

Tribuna de lectores

Aún no hay aportaciones — abre el debate.

← The Daily CommitThe Nightly Build — Page A1