PHP Conference Nagoya 2025

sodium_crypto_secretstream_xchacha20poly1305_push

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretstream_xchacha20poly1305_pushШифрует фрагмент данных для безопасной расшифровки через потоковый API

Описание

sodium_crypto_secretstream_xchacha20poly1305_push(
    string &$state,
    #[\SensitiveParameter] string $message,
    string $additional_data = "",
    int $tag = SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE
): string

Функция шифрует фрагмент данных, чтобы его можно было безопасно расшифровать в потоковом API.

Список параметров

state

Смотрите описания функций sodium_crypto_secretstream_xchacha20poly1305_init_pull() и sodium_crypto_secretstream_xchacha20poly1305_init_push()

message

additional_data

tag

Необязательно. Указывают для подтверждения поведения дешифрования (т. е. повторного ввода ключей или указания последнего фрагмента в потоке).

  • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE: самый распространённый тег, который не добавляет никакой информации о характере сообщения.
  • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL: указывает, что сообщение отмечает конец потока, и стирает секретный ключ, использованный для шифрования предыдущей последовательности.
  • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH: указывает, что сообщение отмечает конец набора сообщений, но не конец потока. Например, огромная строка JSON, отправленная в виде нескольких фрагментов, может использовать этот тег, чтобы указать приложению, что строка завершена и что её можно декодировать. Но сам поток не закрывается и могут последовать дополнительные данные.
  • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY: «забывает» ключ, использованный для шифрования этого и предыдущих сообщений и получает новый секретный ключ.

Возвращаемые значения

Функция возвращает зашифрованный текст.

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top