(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_secretstream_xchacha20poly1305_push — 加密資料區塊,以便在串流 API 中安全地解密
&$state
,$message
,$additional_data
= "",$tag
= SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE
加密資料區塊,以便在串流 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
:「忘記」用於加密此訊息和先前訊息的金鑰,並衍生一個新的私密金鑰。回傳加密後的密文。