php - hash_pbkdf2 与 password_hash PHP 函数

标签 php security php-password-hash

由于 PHP 5.5.0 现已发布,

  1. 哪个更好用(安全性、可移植性、面向 future )?

  2. 它说 password_hash() PASSWORD_DEFAULT 可能会在每个完整版本(+1.0 或 +0.1)中更改,那么我们如何使用以前的 DEFAULT 方法哈希密码和新默认值?这是否意味着在用户更改密码之前,数据库中已使用散列密码的 PHP 5.5 脚本将无法在 PHP 5.6 上运行? COST 更改如何(我想知道服务器是否可以更新到 php v5.6,或者网站管理员可能会更改托管服务提供商(然后更改较弱/较强服务器的 COST),对当前用户没有任何问题)

  3. 我们应该等待一些更新,还是它们已经可以在 5.5.0 中安全使用

  4. 我们是否仍应使用 PHPass 等框架,或者这些新的 PHP 5.5 功能是否足够和/或更适合 future ?

最佳答案

  1. password hashing functions (例如 password_hash)是首选,因为它们使更多过程自动化,例如选择盐、验证密码和重新散列。

  2. password_verify函数会自动检测生成哈希的算法,因此不存在兼容性问题。

  3. 这些函数在 PHP 的发布版本中,因此应该可以正常使用。

  4. 使用 PHPass 或类似 password_compat 的垫片如果您的代码需要在 5.5 之前的 PHP 版本上运行。否则,请使用密码哈希函数。

关于php - hash_pbkdf2 与 password_hash PHP 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17380234/

相关文章:

php - Pushd 未在 ubuntu 14.04 上更改 php 中的目录

php - 在 C 和 PHP 中进行数字签名的正确算法是什么?

php - Magento 1.9 - 模块中的多个助手

php - Yii 中声明的 $content 变量在哪里?

security - secure.domain.net 的 SSL 证书 - 当我不拥有 www.domain.net 时

php - 了解 PHP password_hash 使用的 bcrypt salt

php - 密码散列在 php mysql 中不起作用

C#:.Net 4 中具有安全属性的重写方法

c# - 通过主机文件连接到远程队列

php - 如何使用PHP的password_hash来哈希和验证密码