(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_secretstream_xchacha20poly1305_pull — Déchiffre un morceau de données d'un flux chiffré
&$state
, string $ciphertext
, string $additional_data
= ""): array|falseDéchiffre un morceau de données d'un flux chiffré.
state
Voir sodium_crypto_secretstream_xchacha20poly1305_init_pull() et sodium_crypto_secretstream_xchacha20poly1305_init_push()
ciphertext
Le morceau de texte chiffré à déchiffrer.
additional_data
Optionnel des données supplémentaires à inclure dans le tag d'authentification.
Un tableau avec deux valeurs:
string; le morceau de texte déchiffré.
int; Une étiquette optionnelle (si fournie lors de l'envoi). Valeurs possibles:
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE
:
l'étiquette la plus courante, qui n'ajoute aucune information sur la nature du message.
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL
:
indique que le message marque la fin du flux, et efface la clé secrète utilisée pour chiffrer la séquence précédente.
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH
:
indique que le message marque la fin d'un ensemble de messages, mais pas la fin du flux.
Par exemple, une énorme chaîne JSON envoyée en plusieurs morceaux peut utiliser cette étiquette pour indiquer à l'application que
la chaîne est complète et qu'elle peut être décodée. Mais le flux lui-même n'est pas fermé, et d'autres données peuvent suivre.
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY
:
"forget" la clé utilisée pour chiffrer ce message et les précédents, et dérive une nouvelle clé secrète.