Examples

Mcrypt can be used to encrypt and decrypt using the above mentioned ciphers. If you linked against libmcrypt-2.2.x, the four important mcrypt commands (mcrypt_cfb(), mcrypt_cbc(), mcrypt_ecb(), and mcrypt_ofb()) can operate in both modes which are named MCRYPT_ENCRYPT and MCRYPT_DECRYPT, respectively.

If you linked against libmcrypt 2.4.x or 2.5.x, these functions are still available, but it is recommended that you use the advanced functions.

Example #1 Encrypt an input value with AES with a 256-bit key under 2.4.x and higher in CBC mode

<?php
    $key 
= hash('sha256', 'this is a secret key', true);
    
$input = "Let us meet at 9 o'clock at the secret place.";
    
    
$td = mcrypt_module_open('rijndael-128', '', 'cbc', '');
    
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_URANDOM);
    
mcrypt_generic_init($td, $key, $iv);
    
$encrypted_data = mcrypt_generic($td, $input);
    
mcrypt_generic_deinit($td);
    
mcrypt_module_close($td);
?>
This example will give you the encrypted data as a string in $encrypted_data. For a full example see mcrypt_module_open().