(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
:“忘记”用于加密此消息和先前消息的密钥,并派生一个新的密钥。返回加密的密文。