【问题标题】:Updating Passwords with PHP使用 PHP 更新密码
【发布时间】:2015-08-18 03:25:33
【问题描述】:

PHP >= 5.5 具有password_hash 函数来简化散列密码。通常他们会推荐类似的东西:

pasword_hash($password,PASSWORD_DEFAULT)

利用任何改进是未来的版本。目前默认算法为bcrypt。

问题是:

  • 存储的密码哈希是否会与使用不同算法的未来实现不兼容?
  • 如果有,有什么方法可以更新数据吗?

谢谢

【问题讨论】:

  • 没有人真正知道未来会发生什么,但如果算法发生任何变化,我相信也会有一种转换方式。

标签: php bcrypt password-hash php-password-hash


【解决方案1】:

查看手册here

标识符(例如 $2y$)标识使用了哪个哈希,因此在将来添加其他算法时允许兼容性。

对于哈希,更新它的唯一方法应该是在用户输入密码后,您可以使用新算法重新创建哈希。

【讨论】:

  • 是的,我已经阅读了手册。 $2$y 部分只是用盐和成本参数限定 bcrypt。就其本身而言,它没有提及与 php_hash 未来实现的兼容性。
  • 如果你使用password_verify函数,它使用这个标识符来验证密码。 $2y$ 表示它是一个 bcrypt 哈希,所以 password_verify 将使用 bcrypt 来验证给定的密码与哈希。将来,如果您有不同的标识符,password_verify 将使用该哈希来验证密码以确保兼容性...
  • 我现在看到了:它明确指出:“使用的算法、成本和盐作为哈希的一部分返回。”谢谢。这就回答了这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-25
  • 1970-01-01
  • 1970-01-01
  • 2016-08-14
相关资源
最近更新 更多