openssl_decrypt
En esta página
openssl_decrypt
Descifrar los datos
Descripción#
```php
[\SensitiveParameter] openssl_decrypt(string $data, string $cipher_algo, string $passphrase, [int $options], [string $iv], [string $tag], [string $aad]): string#
```php
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.
[!CAUTION] No se utiliza ninguna función de derivación de clave para el parámetro
passphrasecomo su nombre podría sugerir. La única operación utilizada es el relleno con caracteresNULo 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.
[!CAUTION] La longitud de
tagno es verificada por la función. Es responsabilidad del llamador asegurarse de que la longitud del tag coincida con la longitud del tag recibido cuandoopenssl_encryptfue 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. |
Véase también#
openssl_encrypt