mcrypt は、上に示した暗号を用いて暗号化および復号化を 行うことが可能です。libmcrypt-2.2.x とリンクした場合、4つの重要な mcrypt コマンド (mcrypt_cfb(), mcrypt_cbc(),mcrypt_ecb(), mcrypt_ofb()) は、MCRYPT_ENCRYPT および MCRYPT_DECRYPT という 2つのモードの両方で実行可能です。

libmcrypt 2.4.x または 2.5.x とリンクした場合、上記の関数も利用可能 ですが、新しい関数を使用されることを推奨します。

例1 2.4.x 以降において CBC モードで AES により入力を暗号化する

<?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);
?>
この例は、$encrypted_data に文字列として 暗号化されたデータを取得します。詳細な例については、 mcrypt_module_open() を参照してください。