【问题标题】:Storing Hashes to Password in PHP在 PHP 中将哈希值存储为密码
【发布时间】:2015-12-26 11:34:27
【问题描述】:

我是哈希密码存储的新手。有人可以指出我可能做错了什么。我正在使用专门的 PHP,而不是 C 或 C 的任何偏差。

存储哈希:

  1. 接收密码
  2. 使用 sha-512 之类的算法和成本因子将其发送到 password_hash() 函数。
  3. 有点卡在这里。迭代时是否使用收到的密码哈希?
  4. pbkdf2键偏差函数加长。
  5. 存储在数据库中。

检索哈希:

  1. 获取用户对密码的尝试。
  2. 也卡在这里,但我假设您使用 password_verify 函数。
  3. 如果匹配验证其他拒绝。

如果有人可以发布一个正确的解决方案,那将非常感激。

【问题讨论】:

  • 能否请您发布代码。然后其他人可以很容易地理解您的问题。
  • $password = $_POST['password']; $hash = password_hash(7, 12, $password); $i = 0;而 $i

标签: php database security password-hash php-password-hash


【解决方案1】:

如果可以只使用内置选项,为什么还要使用 while() 循环呢?

$password = $_POST['password'];
$hash = password_hash($password,PASSWORD_DEFAULT, array('cost' => 12));
echo $hash;

这是正确的做法。要验证密码,您只需执行以下操作。

if(password_verify($password, $hash)){
    //valid password
}

【讨论】:

  • 我没有看到 password_hash 函数中的内置循环。是哪个参数?
  • 成本是指数选项。如果我没记错的话,2^11 是默认值,这已经足够了。大约需要 100 毫秒
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-07
  • 1970-01-01
  • 2012-06-20
  • 2018-05-12
  • 2019-01-30
  • 1970-01-01
  • 2011-03-03
相关资源
最近更新 更多