php - Argon2id 如何在 PHP 中存储盐?

标签 php hash passwords salt

Argon2id 的 PHP 实现为开发人员生成盐。应用程序如何跟踪该盐?作为开发人员,我如何考虑备份并确保我不会丢失盐?

最佳答案

正如 Luis 所说,盐存储在哈希函数的结果中,以 $ 分隔:

password_hash('secret', PASSWORD_ARGON2I);

将返回类似这样的内容:

$argon2i$v=19$m=1024,t=2,p=2$MEhSZkJLQXUxRzljNE5hMw$33pvelMsxqOn/1VV2pnjmKJUECBhilzOZ2+Gq/FxCP4

地点:

  • argon2i 是算法
  • v=19 是版本
  • m=1024,t=2,p=2 是内存、迭代和并行度选项
  • MEhSZkJLQXUxRzljNE5hMw 是盐
  • 33pvelMsxqOn/1VV2pnjmKJUECBhilzOZ2+Gq/FxCP4 是实际的哈希值。

因此,您只需保存整个字符串,它将保留 PHP 哈希方法所需的所有内容,例如 password_verify

关于php - Argon2id 如何在 PHP 中存储盐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54676717/

相关文章:

javascript - 解码 youtube base.js 密码 2016

.net - 将密码存储在 SQL Server 数据库中。 .Net 功能够用吗?

php - MySQL 数据库/PHP - 从脚本生成 100 个联系人

ruby-on-rails - 按其他散列中的值对散​​列进行排序 - Ruby on Rails

java - 为哈希选择合适的表大小

jQuery BBQ、CakePHP 和 SSL/HTTPS

javascript - 密码确认不起作用

java - Java 中的客户端和服务器端密码加密

php - 确认警报不起作用

php - 在 PHP 内置的 Web 服务器中打印一些东西