(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_secretstream_xchacha20poly1305_push — Criptografa um bloco de dados para que ele possa ser descriptografado com segurança em uma API de fluxo
&$state,$message,$additional_data = "",$tag = SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGECriptografa um bloco de dados para que ele possa ser descriptografado com segurança em uma API de fluxo.
stateVeja sodium_crypto_secretstream_xchacha20poly1305_init_pull() e sodium_crypto_secretstream_xchacha20poly1305_init_push().
message
additional_data
tagOpcional. Pode ser usado para confirmar o comportamento de descriptografia (por exemplo, redigitar ou indicar o bloco final em um fluxo).
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE:
a tag mais comum, que não adiciona nenhuma informação sobre a natureza da mensagem.
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL:
indica que a mensagem marca o fim do fluxo e apaga a chave secreta usada para criptografar a sequência anterior.
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH:
indica que a mensagem marca o fim de um conjunto de mensagens, mas não o fim do fluxo.
Por exemplo, uma string JSON enorme enviada em vários blocos pode usar esta tag para indicar ao aplicativo que a
string está completa e pode ser decodificada. Mas o fluxo em si não está fechado, e mais dados podem ser enviados.
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY:
"esquece" a chave usada para criptografar esta mensagem e as anteriores, e deriva uma nova chave secreta.
Retorna o texto criptografado.