( string cipher, string key, string data, string mode [, string iv] )
mcrypt_encrypt() encrypts the data
and returns the encrypted data.
Cipher is one of the MCRYPT_ciphername
constants of the name of the algorithm as string.
Key is the key with which the data
will be encrypted. If it's smaller that the required keysize, it
is padded with '\0'. It is better not to use ASCII strings for
keys. It is recommended to use the mhash functions to create a key
from a string.
Data is the data that will be encrypted
with the given cipher and mode. If the size of the data is not
n * blocksize, the data will be padded with '\0'. The returned
crypttext can be larger that the size of the data that is given
Mode is one of the MCRYPT_MODE_modename
constants of one of "ecb", "cbc", "cfb", "ofb", "nofb" or
The IV parameter is used for the
initialisation in CBC, CFB, OFB modes, and in some algorithms
in STREAM mode. If you do not supply an IV, while it is needed
for an algorithm, the function issues a warning and uses an
IV with all bytes set to '\0'.
Example 1. mcrypt_encrypt() Example
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "This is a very secret key";
$text = "Meet me at 11 o'clock behind the monument.";
echo strlen($text) . "\n";
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
echo strlen($crypttext) . "\n";
The above example will output:
See also mcrypt_module_open() for a more advanced API
and an example.