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()).
lengthpasswordsaltSODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES.
opslimitSODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE
и SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE.
memlimitSODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE
и SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE.
Обычно они должны сочетаться с значениями параметра opslimit, которые соответствуют
константам.
Функция возвращает строку байтов требуемой длины.