password_hash возвращает NULL

Почему в документации указано, что password_hash может возвращать строку или значение false, но следующая строка кода возвращает NULL?

 $password = password_hash($password1, PASSWORD_BDCRYPT, array( 'cost' => 10 )); 

Несмотря на то, что он не документирован, функция возвращает NULL, когда вы предоставляете неверное значение для алгоритма.

В настоящее время поддерживаются константы:

  • PASSWORD_BCRYPT
  • PASSWORD_DEFAULT

И опечатка в этом случае ( PASSWORD_BDCRYPT а не PASSWORD_BCRYPT ) приводит к тому, что значение NULL передается, что в свою очередь вызывает то же значение, что и возврат.


Изменить: любая другая строка, которая не была определена ранее, также будет оцениваться как NULL.

Как было сказано ранее, неправильный параметр приводит к возврату NULL. Просто чтобы быть полным: обратите внимание, что это происходит не только за неправильный номер алгоритма, но и за предоставление неверного параметра $ options – например, вызов:

 password_hash('something', PASSWORD_DEFAULT, 10); 

также возвратит NULL без каких-либо других ошибок.