sodium_crypto_box
Function • Params and return types changed in PHP 8.0
Authenticated public-key encryption.
sodium_crypto_box
Function synopsis
sodium_crypto_box(
string $message,
string $nonce,
string $key_pair
): string
Parameters
$message
Typestring
The message to be encrypted.
$nonce
Typestring
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_pair
Typestring
See sodium_crypto_box_keypair_from_secretkey_and_publickey
.
This should include the sender's X25519 secret key and the recipient's X25519 public key.
Return value
Typestring
Returns the encrypted message (ciphertext plus authentication tag). The ciphertext will be
16 bytes longer than the plaintext, and a raw binary string. See sodium_bin2base64
for safe encoding for storage.
Changes to the sodium_crypto_box
Function
PHP 8.0
- Return type added:
string
- Parameter name of parameter #1 changed:
$string
to$message
- Parameter type added for parameter #1 (
$message
):string
- Parameter type added for parameter #2 (
$nonce
):string
- Parameter name of parameter #3 changed:
$key
to$key_pair
- Parameter type added for parameter #3 (
$key_pair
):string
sodium_crypto_box(
- $string,
+ string $message,
- $nonce,
+ string $nonce,
- $key
+ string $key_pair
- )
+ ): string
PHP 7.2
- Function added
sodium_crypto_box
Function Availability
sodium_crypto_box
Function AvailabilityPHP Version | Availability |
---|---|
PHP 8.5Future Release | Yes |
PHP 8.4Upcoming Release | Yes |
PHP 8.3Supported (Latest) | Yes |
PHP 8.2Supported | Yes |
PHP 8.1Security-Fixes Only | Yes |
PHP 8.0Unsupported | Yes |
PHP 7.4Unsupported | Yes |
PHP 7.3Unsupported | Yes |
PHP 7.2Unsupported | Yes |
PHP 7.1Unsupported | No |
PHP 7.0Unsupported | No |
PHP 5.6Unsupported | No |
PHP 5.5Unsupported | No |
PHP 5.4Unsupported | No |
PHP 5.3Unsupported | No |