documentation如何声明password_hash
可以返回字符串或值false,但下面的代码行返回NULL?
$password = password_hash($password1, PASSWORD_BDCRYPT, array( 'cost' => 10 ));
答案 0 :(得分:4)
尽管没有记录,但当一个算法为算法提供的值不正确时,该函数会返回NULL。
目前支持的常量是:
PASSWORD_BCRYPT
PASSWORD_DEFAULT
在这种情况下输入错误(PASSWORD_BDCRYPT
而不是PASSWORD_BCRYPT
)会导致传递NULL值,从而导致返回相同的值。
编辑:之前未定义的任何其他字符串也将评估为NULL。
答案 1 :(得分:2)
如前所述,不正确的参数会导致返回NULL。只是为了完成:请注意,这不仅仅是因为错误的算法编号,而且还提供了错误的$ options参数 - 例如主叫:
password_hash('something', PASSWORD_DEFAULT, 10);
也将返回NULL而没有其他错误。