(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_secretstream_xchacha20poly1305_pull — Desencripta un fragmento de datos de un flujo cifrado
&$state
, string $ciphertext
, string $additional_data
= ""): array|falseDesencripta un fragmento de datos de un flujo cifrado.
state
Ver sodium_crypto_secretstream_xchacha20poly1305_init_pull() y sodium_crypto_secretstream_xchacha20poly1305_init_push()
ciphertext
El fragmento de texto cifrado a desencriptar.
additional_data
Opcional de datos adicionales a incluir en la etiqueta de autenticación.
Un array con dos valores:
string; el fragmento de texto desencriptado.
int; Una etiqueta opcional (si se proporciona al enviar). Valores posibles:
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE
:
la etiqueta más común, que no añade información sobre la naturaleza del mensaje.
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL
:
indica que el mensaje marca el final del flujo, y borra la clave secreta utilizada para cifrar la secuencia anterior.
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH
:
indica que el mensaje marca el final de un conjunto de mensajes, pero no el final del flujo.
Por ejemplo, una enorme cadena JSON enviada en varios fragmentos puede utilizar esta etiqueta para indicar a la aplicación que
la cadena está completa y que puede ser decodificada. Pero el flujo mismo no está cerrado, y otros datos pueden seguir.
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY
:
"olvidar" la clave utilizada para cifrar este mensaje y los anteriores, y derivar una nueva clave secreta.