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,    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: "забуває" ключ, використаний для шифрування цього та попередніх повідомлень і отримує новий секретний ключ.

Значення, що повертаються

Повертає зашифрований текст.