Function is expecting salt length to be EXACTLY SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES bytes. It throws error if you provide longer salt string. For example: salt of 64 bytes will throw an error.(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_pwhash_scryptsalsa208sha256 — Получает ключ из пароля функцией scrypt
$length,$password,$salt,$opslimit,$memlimitФункция работает аналогично функции scrypt sodium_crypto_pwhash().
Распространённая причина, по которой вызывают эту функцию — получить начальные числа для криптографических ключей из пароля и соли, а затем использовать эти начальные числа для генерации фактических ключей, необходимых для отдельных целей (например, подписи сообщения, как это делает функция sodium_crypto_sign_detached()).
lengthДлина генерируемого хеша пароля в байтах.
passwordПароль, для которого создаётся хеш.
salt
      Соль, которую нужно добавить к паролю перед хешированием.
      Соль должна быть непредсказуемой, в идеале сгенерированной из хорошего
      источника случайных чисел наподобие функции random_bytes(),
      и иметь длину в байтах не меньше, чем значение константы SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES.
     
opslimit
      Представляет максимальное количество вычислений для выполнения.
      Увеличение этого числа приведёт к тому, что функции потребуется больше
      циклов ЦП для вычисления ключа.
      Доступны некоторые константы для установки предела операций на соответствующие
      значения в зависимости от предполагаемого использования, в порядке размера:
      SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE
      и SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE.
     
memlimit
      Максимальный объем ОЗУ в байтах, который будет использовать функция.
      Выбрать требуемое значение в порядке размера помогают существующие константы:
      SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE
      и SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE.
      Обычно они должны сочетаться с значениями параметра opslimit, которые соответствуют
      константам.
     
Функция возвращает строку байтов требуемой длины.
