(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 streaming
&$state
,$message
,$additional_data
= "",$tag
= SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE
Criptografa um bloco de dados para que ele possa ser descriptografado com segurança em uma API de streaming.
state
Veja sodium_crypto_secretstream_xchacha20poly1305_init_pull() e sodium_crypto_secretstream_xchacha20poly1305_init_push().
message
additional_data
tag
Opcional. 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.