Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<sodium_crypto_aead_aes256gcm_decryptsodium_crypto_aead_aes256gcm_is_available>
^Sodium FunctionsLast updated: Mon, 26 Oct 2026

sodium_crypto_aead_aes256gcm_encrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_aes256gcm_encrypt — Encrypt then authenticate with AES-256-GCM

Description

function sodium_crypto_aead_aes256gcm_encrypt(
    #[\SensitiveParameter] string $message,
    string $additional_data,
    string $nonce,
    #[\SensitiveParameter] string $key
): string

Encrypt then authenticate with AES-256-GCM. Only available if sodium_crypto_aead_aes256gcm_is_available() returns true.

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. 12 bytes long.

key

Encryption key (256-bit).

Return Values

Returns the ciphertext and authentication tag as a string of raw binary bytes. (Format: ciphertext, then tag.)

Changelog

Version Description
8.4.0 This function is now also defined on aarch64. Previously it was only defined on x86 and x86_64.

<sodium_crypto_aead_aes256gcm_decryptsodium_crypto_aead_aes256gcm_is_available>
^Sodium FunctionsLast updated: Mon, 26 Oct 2026