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.