password_hash返回NULL

时间:2015-08-26 12:10:47

标签: php password-hash

documentation如何声明password_hash可以返回字符串或值false,但下面的代码行返回NULL?

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

2 个答案:

答案 0 :(得分:4)

尽管没有记录,但当一个算法为算法提供的值不正确时,该函数会返回NULL。

目前支持的常量是:

  • PASSWORD_BCRYPT
  • PASSWORD_DEFAULT

在这种情况下输入错误(PASSWORD_BDCRYPT而不是PASSWORD_BCRYPT)会导致传递NULL值,从而导致返回相同的值。

编辑:之前未定义的任何其他字符串也将评估为NULL。

答案 1 :(得分:2)

如前所述,不正确的参数会导致返回NULL。只是为了完成:请注意,这不仅仅是因为错误的算法编号,而且还提供了错误的$ options参数 - 例如主叫:

password_hash('something', PASSWORD_DEFAULT, 10);

也将返回NULL而没有其他错误。