(PHP 4 >= 4.0.2, PHP 5)
mcrypt_encrypt — 指定したパラメータでプレーンテキストを暗号化する
$cipher
, string $key
, string $data
, string $mode
[, string $iv
] )データを暗号化して、それを返します。
cipher
MCRYPT_暗号名
定数のいずれか、
あるいはアルゴリズム名をあらわす文字列。
key
データを暗号化する際のキー。必要なキー長よりも小さい場合には、 '\0' で埋められます。キーにはASCII 文字列を使わない方が良いです。
文字列からキーを生成するにはmhash関数を使用することを推奨します。
data
指定した cipher
および mode
で暗号化するデータ。
データの大きさが n * blocksize でない場合、データは、
'\0'で埋められます。
返される暗号化されたテキストは、data
で指定したデータの大きさよりも大きくなる可能性があります。
mode
定数 MCRYPT_MODE_モード名
、あるいは文字列
"ecb", "cbc", "cfb", "ofb", "nofb" ,"stream" のいずれか。
iv
CBC, CFB, OFB モードおよび STREAM モードのいくつかのアルゴリズムの初期化の際に使用されます。 アルゴリズムで必要とする IV を指定しない場合、この関数は警告を発生し、 すべてのバイトを "\0" に設定した IV を使用します。
暗号化されたデータを文字列で返します。
例1 mcrypt_encrypt() の例
<?php
$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";
?>
上の例の出力は以下となります。
42 64
より高度な API やサンプルについては mcrypt_module_open() も参照ください。