php8.5
Home/ Manual/ sodium / functions/ sodium_crypto_aead_xchacha20poly1305_ietf_encrypt

sodium_crypto_aead_xchacha20poly1305_ietf_encrypt

PHP function Edit on GitHub ✎

(PHP 7 >= 7.2.0, PHP 8)

(Preferred) Encrypt then authenticate with XChaCha20-Poly1305

Description

sodium_crypto_aead_xchacha20poly1305_ietf_encrypt(string $message, string $additional_data, string $nonce, 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.

Parameters

message

The plaintext message to encrypt.

additional_data

Additional, 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.

nonce

A 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()).

key

Encryption key (256-bit).

Return Values

Returns the ciphertext and authentication tag as a string of raw binary bytes.

Source: reference/sodium/functions/sodium-crypto-aead-xchacha20poly1305-ietf-encrypt.xml · from the official PHP manual (php/doc-en)