ConFoo 2025

sodium_crypto_secretstream_xchacha20poly1305_pull

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretstream_xchacha20poly1305_pullРасшифровывает часть данных из зашифрованного потока

Описание

sodium_crypto_secretstream_xchacha20poly1305_pull(string &$state, string $ciphertext, string $additional_data = ""): array|false

Расшифровывает часть данных из зашифрованного потока.

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

state

Смотрите sodium_crypto_secretstream_xchacha20poly1305_init_pull() и sodium_crypto_secretstream_xchacha20poly1305_init_push()

ciphertext

Фрагмент зашифрованного текста, который нужно расшифровать.

additional_data

Необязательные дополнительные данные для включения в тег аутентификации.

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

Массив с двумя значениями:

  • Строка (string); Расшифрованный фрагмент

  • Целое число (int); Необязательный тег (если предоставляется во время отправки). Возможные значения:

    • 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