(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é.
stateciphertextadditional_dataUn tableau avec deux valeurs:
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.