PHP password_hash() : Are password hashes portable between systems?

标签 php bcrypt php-password-hash

我相信使用 PHP 的 password_hash() 函数散列的密码可以传输到不同的系统并且仍然可以成功地用于验证目的。

据我了解,bcrypt 散列包含所有必要的组件,当与纯文本密码结合使用时,可以验证给定的密码。因此,可以将哈希值带到具有兼容实现的任何系统并用于验证目的。

我很快就会尝试这个,但在此之前我想知道我的理论是否正确。

这是正确的吗?

最佳答案

是的,这是正确的。 password_verify 的文档状态:

Note that password_hash() returns the algorithm, cost and salt as part of the returned hash. Therefore, all information that's needed to verify the hash is included in it. This allows the verify function to verify the hash without needing separate storage for the salt or algorithm information.

当然,通过检查 password_hashcrypt 的输出也很容易看出这些信息(也就是说,概括地说,大部分是同一件事).

关于PHP password_hash() : Are password hashes portable between systems?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19005709/

相关文章:

PHP 生成 csv 不发送正确的新换行符

Ruby BCrypt 加盐/散列似乎……错了?

PHP password_hash(), password_verify()

php - 使用crypt()和password_hash()函数加密后密码不匹配

PHP - password_verify 问题

php - 从 array_keys 中获取一个值

php - 在 php for\copy export csv 中使用 psql 元命令时遇到问题

javascript - 隐藏/显示 Ipresso 生成的表单内的内容

Python - 无法在本地应用程序引擎开发服务器中导入 bcrypt

java - 有没有办法使用 Spring Security 检查 PHP 创建的 bcrypt 哈希值?