为password_hash()设置salt

时间:2016-01-07 18:37:27

标签: php salt owncloud php-password-hash

我正在PHP中为owncloud创建一个大规模用户导入脚本。我从CSV文件中读取用户,然后将其添加到owncloud database。我遇到了密码问题。据我所知,owncloud使用password_hash()BCRYPT。我有passwordsalt,但我不确定如何将该盐与password_hash()一起使用。

有人帮忙吗?

2 个答案:

答案 0 :(得分:1)

在选项数组中使用salt,如下所示

password_hash("rasmuslerdorf", PASSWORD_BCRYPT, array("cost" => 7, "salt" => "thisisyoursalt"));

但使用自己的盐并不是一个好主意。让password_hash()为您的密码创建一个salt。 password_hash()将为每个密码创建不同的salt。它会增加您的密码安全强度。

答案 1 :(得分:0)

如果哈希是由password_hash()crypt()生成的,那么salt将包含在生成的哈希值中。要根据此哈希检查密码,可以使用函数password_verify(),此函数自动提取salt和其他参数。

// Check if the hash of the entered login password, matches the stored hash.
// The salt and the cost factor will be extracted from $existingHashFromDb.
$isPasswordCorrect = password_verify($password, $existingHashFromDb);