openssl_encrypt
En esta página
openssl_encrypt
Cifra los datos
Descripción#
#[\SensitiveParameter] #[\SensitiveParameter] openssl_encrypt(string $data, string $cipher_algo, string $passphrase, [int $options], [string $iv], [string $tag], [string $aad], [int $tag_length]): string
```php
Cifra los datos pasados con el método y la frase de contraseña especificados. Devuelve un `string` bruto o codificado en base64.
## Parámetros
`data`
Los datos del mensaje en texto bruto a cifrar.
`cipher_algo`
El método de cifrado. Para una lista de los métodos de cifrado disponibles, utilizar `openssl_get_cipher_methods`.
`passphrase`
La frase de contraseña. Si la frase de contraseña es más corta de lo esperado, se rellena silenciosamente con caracteres `NUL`; si la frase de contraseña es más larga de lo esperado, se trunca silenciosamente.
> [!CAUTION]
> No se utiliza ninguna función de derivación de clave para el parámetro `passphrase` como su nombre podría sugerir. La única operación utilizada es el relleno con caracteres `NUL` o la truncación si la longitud es diferente de la esperada.
`options`
`options` es una disyunción a nivel de bits de los flags `OPENSSL_RAW_DATA` y `OPENSSL_ZERO_PADDING` o `OPENSSL_DONT_ZERO_PAD_KEY`.
`iv`
Un vector de inicialización no-`null`. Si el IV es más corto de lo esperado, se completa con caracteres `NUL` y se emite un aviso; si la frase de contraseña es más larga de lo esperado, se trunca y se emite un aviso.
`tag`
La etiqueta de autenticación pasada por referencia al utilizar el modo de cifrado AEAD (GCM o CCM).
`aad`
Datos adicionales autenticados.
`tag_length`
La longitud de la `tag` de autenticación. Su valor puede estar entre 4 y 16 para el modo GCM.
## Valores devueltos
Devuelve la cadena cifrada en caso de éxito o `false` si ocurre un error.
## Errores/Excepciones
Emite un error de nivel `E_WARNING` si se pasa un algoritmo de cifrado desconocido como parámetro `cipher_algo`.
Emite un error de nivel `E_WARNING` si se pasa un valor vacío como parámetro `iv`.
## Historial de cambios
| Versión | Descripción |
|---------|----------------------------------------------------------|
| 7.1.0 | Se añadieron los parámetros `tag`, `aad` y `tag_length`. |
## Ejemplos
Ejemplo de cifrado autenticado AES en modo GCM para PHP 7.1+
Ejemplo de cifrado autenticado AES en modo GCM anterior a PHP 7.1
```php
Véase también#
openssl_decrypt