例
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() を参照してください。