Documentación offline PHP master

openssl_open

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

En esta página

openssl_open

Abre datos sellados

Descripción#

#[\SensitiveParameter] #[\SensitiveParameter] openssl_open(string $data, string $output, string $encrypted_key, OpenSSLAsymmetricKey $private_key, string $cipher_algo, [string $iv]): bool
```php

La `openssl_open` abre (descifra) `data` utilizando una clave de envoltura que se descifra a partir de `encrypted_key` utilizando `private_key`. La descifrado se realiza mediante `cipher_algo` y `iv`. El IV es requerido únicamente si el método de cifrado lo exige. La función llena `output` con los datos descifrados. La clave de envoltura generalmente se genera cuando los datos son sellados utilizando una clave pública asociada a la clave privada. Consulte `openssl_seal` para más información.

## Parámetros

`data`  
Los datos sellados.

`output`  
Si la llamada tiene éxito, los datos abiertos son devueltos en este parámetro.

`encrypted_key`  
La clave simétrica cifrada que puede ser descifrada utilizando `private_key`

`private_key`  
La clave privada utilizada para descifrar `encrypted_key`.

`cipher_algo`  
El método de cifrado utilizado para el descifrado de `data`.

> [!CAUTION]
> El valor por omisión para las versiones de PHP anteriores a 8.0 es (`'RC4'`), que es considerada como no segura. Se recomienda fuertemente especificar explícitamente un método de cifrado seguro.

`iv`  
El vector de inicialización utilizado para el descifrado de `data`. Es requerido si el método de cifrado necesita un IV. Esto puede ser determinado llamando a `openssl_cipher_iv_length` con `cipher_algo`.

## Valores devueltos

Esta función retorna `true` en caso de éxito o `false` si ocurre un error.

## Historial de cambios

| Versión | Descripción |
|----|----|
| 8.0.0 | `private_key` ahora acepta una instancia de `OpenSSLAsymmetricKey` o `OpenSSLCertificate`; anteriormente, se aceptaba un `resource` de tipo `OpenSSL key` o `OpenSSL X.509 CSR`. |
| 8.0.0 | `cipher_algo` ya no es un parámetro opcional. |

## Ejemplos

Ejemplo con `openssl_open`

```php

Véase también#

openssl_seal