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 — Encrypts data
Description
string openssl_encrypt
( string $data
, string $method
, string $password
[, bool $raw_output = false
] )
Encrypts given data with given method and key, returns a raw or base64 encoded string
Warning
This function is currently not documented; only its argument list is available.
Parameters
- data
-
The data.
- method
-
The cipher method.
- password
-
The password.
- raw_output
-
Setting to TRUE will return as raw output data, otherwise the return value is base64 encoded.
Return Values
Returns the encrypted string on success or FALSE on failure.
Errors/Exceptions
Emits an E_WARNING level error if an unknown cipher algorithm is passed in via the method parameter.
openssl_encrypt
public at grik dot net
02-Aug-2010 02:25
02-Aug-2010 02:25
public at grik dot net
25-Dec-2009 06:54
25-Dec-2009 06:54
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()
