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