In 5.3.3 they added a new parameter, string $iv (initialization vector)
Real parameters are:
string openssl_encrypt ( string $data , string $method , string $password, bool $raw_output = false, string $iv )
If $iv is missing, a warning is issued: "Using an empty Initialization Vector (iv) is potentially insecure and not recommended".
If $iv is too short, another warning:
"IV passed is only 3 bytes long, cipher expects an IV of precisely 8 bytes, padding with \0"
same IV should be used in openssl_decrypt()
openssl_encrypt
(PHP 5 >= 5.3.0)
openssl_encrypt — Encripta información
Descripción
Encripta la información dada con el método y la clave dados, y devuelve una cadena codificada en bruto o mediante base64.
Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.
Parámetros
- data
-
La información.
- method
-
El método de cifrado.
- password
-
La contraseña.
- raw_output
-
Establecido a TRUE devolverá información de salida en bruto, si no, devolverá el valor codificado mediante base64.
- iv
-
Un Vector de Inicialización no NULL.
Valores devueltos
Devuelve la cadena encriptada si se tuvo éxito o FALSE en caso de error.
Errores/Excepciones
Emite un error de nivel E_WARNING si se pasa un algoritmo de cifrado desconocido mediante el parámetro method.
Emite un error de nivel E_WARNING si se le pasa un valor vacío mediante el parámetro iv.
Historial de cambios
| Versión | Descripción |
|---|---|
| 5.3.3 | Se añadió el parámetro iv. |
The list of methods for this function can be obtained with openssl_get_cipher_methods();
The password can be encrypted with the openssl_private/public_encrypt()
