登录:
$rows = $sql->fetch(PDO::FETCH_ASSOC);
$us_id = $rows['id'];
$us_pass = $rows['password'];
$us_salt = $rows['password_salt'];
$status = $rows['attempt'];
$saltedPass = hash('sha256', "{$password}{$this->passwordSalt}{$us_salt}");
注册:
$randomSalt = $this->rand_string(20);
$saltedPass = hash('sha256', "{$password}{$this->passwordSalt}{$randomSalt}");
如何将sha256加密方法转换为bcrypt?
答案 0 :(得分:2)
密码哈希使用bcrypt
如果您使用的是PHP 5.5或更高版本,则可以使用内置password_hash()
函数并将$algo
参数设置为PASSWORD_BCRYPT
来创建bcrypt哈希值。您可以这样使用:
$options = array('cost' => 11, 'salt' => 'my_salt');
$hash = password_hash("my_secret_password", PASSWORD_BCRYPT, $options);
<强>移植强>
无法从sha256批量迁移到bcrypt,因为您需要原始的纯文本数据(密码),这是不可用的。
通常,网站会执行分阶段转换,您可以在用户执行成功登录时对其进行转换。例如: