(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_secretstream_xchacha20poly1305_pull — Descriptografa um pedaço de dados de um fluxo criptografado
&$state, string $ciphertext, string $additional_data = ""): array|falseDescriptografar um bloco de dados de um fluxo criptografado.
stateVeja sodium_crypto_secretstream_xchacha20poly1305_init_pull() e sodium_crypto_secretstream_xchacha20poly1305_init_push().
ciphertextO pedaço de texto cifrado a ser descriptografado.
additional_dataDados adicionais opcionais para incluir na tag de autenticação.
Um array com dois valores:
string; O pedaço decifrado
int; Uma tag opcional (se fornecida durante o push). Valores possíveis:
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.