Как Argon2id хранит соли в PHP? - PullRequest
       60

Как Argon2id хранит соли в PHP?

0 голосов
/ 13 февраля 2019

Реализация PHP Argon2id генерирует соль для разработчика.Как приложение отслеживает эту соль?Как разработчик, как мне учесть резервные копии и как-то иначе гарантировать, что я не потеряю соль?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Как сказал Луис, соль сохраняется в результате выполнения хеш-функций, разделенных $:

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.

0 голосов
/ 13 февраля 2019

Несмотря на то, что документация для функции password_hash() помечает возвращаемое значение функции как "хэш", на самом деле это составная строка, которая также включает соль и некоторые метаданные для определения того, какой алгоритм использовался.Сопутствующая функция password_verify() анализирует эту информацию, чтобы поступить правильно.

Так что вам просто нужно сохранить результат password_hash().

...