Descifrar los datos

# openssl_decrypt

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_decrypt — Descifrar los datos

### Descripción

function openssl_decrypt(
string `$data`,
string `$cipher_algo`,
#[\SensitiveParameter]string `$passphrase`,
int `$options` = 0,
string `$iv` = "",
?string `$tag` = `null`,
string `$aad` = ""
): string|false

Toma una cadena sin tratar o codificada en base64 y la descifra utilizando el método y la frase de contraseña proporcionados.

### Parámetros

`data`

  El mensaje cifrado a descifrar.

`cipher_algo`

  El algoritmo de cifrado. Para obtener la lista de algoritmos 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 completa silenciosamente con caracteres `NUL`; si la frase de contraseña es más larga de lo esperado, se trunca silenciosamente.

  Precaución

  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`

  El parámetro `options` puede tomar como valor `OPENSSL_RAW_DATA` o `OPENSSL_ZERO_PADDING` o `OPENSSL_DONT_ZERO_PAD_KEY`.

`iv`

  Un vector de inicialización no-`null`. Si el VI 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 en modo de cifrado AEAD. Si es incorrecta, la autenticación falla y la función devuelve `false`.

  Precaución

  La longitud de `tag` no es verificada por la función. Es responsabilidad del llamador asegurarse de que la longitud del tag coincida con la longitud del tag recibido cuando openssl_encrypt() fue llamada. De lo contrario, el descifrado puede tener éxito si el inicio del tag proporcionado coincide con el inicio del verdadero tag.

`aad`

  Datos adicionales autenticados.

### Valores devueltos

La cadena descifrada 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 a través de `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
--- | ---
8.1.0 | `tag` ahora es nullable.
7.1.0 | Se añadieron los parámetros `tag` y `aad`.

### Ver también

- openssl_encrypt() - Cifra los datos

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open