Documentación offline PHP master

sodium_crypto_secretbox

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

sodium_crypto_secretbox

Cifrado autenticado con una clave compartida

Descripción#

#[\SensitiveParameter] #[\SensitiveParameter] sodium_crypto_secretbox(string $message, string $nonce, string $key): string
```php

Cifra un mensaje con una clave simétrica (compartida).

## Parámetros

`message`  
El mensaje en claro a cifrar.

`nonce`  
Un número que debe ser utilizado una sola vez, por mensaje. 24 bytes de largo. Este es un límite suficientemente grande para ser generado aleatoriamente (i.e. `random_bytes`).

`key`  
La clave de cifrado (256 bits).

## Valores devueltos

Devuelve la cadena cifrada.

## Errores/Excepciones

- Si `nonce` tiene una longitud de bytes diferente de [`SODIUM_CRYPTO_SECRETBOX_NONCEBYTES`](#constant.sodium-crypto-secretbox-noncebytes) (24 bytes), una `SodiumException` será lanzada.

- Si `key` tiene una longitud de bytes diferente de [`SODIUM_CRYPTO_SECRETBOX_KEYBYTES`](#constant.sodium-crypto-secretbox-keybytes) (32 bytes), una `SodiumException` será lanzada.

- Lanza una `SodiumException` en caso de fallo.

## Ejemplos

Ejemplo de `sodium_crypto_secretbox`

```php

Resultado del ejemplo anterior es similar a:

string(78) "3a1fa3e9f7b72ef8be51d40abf8e296c6899c185d07b18b4c93e7f26aa776d24c50852cd6b1076"
string(23) "mensaje a ser cifrado"

Véase también#

sodium_crypto_secretbox_open

sodium_crypto_secretbox_keygen

random_bytes