(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_aead_xchacha20poly1305_ietf_encrypt — (Preferred) Encrypt then authenticate with XChaCha20-Poly1305
sodium_crypto_aead_xchacha20poly1305_ietf_encrypt( #[\SensitiveParameter] string $message, string $additional_data, string $nonce, #[\SensitiveParameter] string $key ): string
Encrypt then authenticate with XChaCha20-Poly1305 (eXtended-nonce variant).
Generally, XChaCha20-Poly1305 is the best of the provided AEAD modes to use.
messageThe plaintext message to encrypt.
additional_dataAdditional, authenticated data. This is used in the verification of the authentication tag appended to the ciphertext, but it is not encrypted or stored in the ciphertext.
nonceA number that must be only used once, per message. 24 bytes long. This is a large enough bound to generate randomly (i.e. random_bytes()).
keyEncryption key (256-bit).
Returns the ciphertext and tag on success, or false on failure.
© 1997–2025 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.sodium-crypto-aead-xchacha20poly1305-ietf-encrypt.php