(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_aead_xchacha20poly1305_ietf_encrypt — (Preferred) Encrypt then authenticate with XChaCha20-Poly1305
$message,$additional_data,$nonce,$keyEncrypt 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.