(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.
state
Veja sodium_crypto_secretstream_xchacha20poly1305_init_pull() e sodium_crypto_secretstream_xchacha20poly1305_init_push().
ciphertext
O pedaço de texto cifrado a ser descriptografado.
additional_data
Dados 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.