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