Mcrypt 関数
PHP Manual

mcrypt_encrypt

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_encrypt指定したパラメータでプレーンテキストを暗号化する

説明

string mcrypt_encrypt ( string $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_256MCRYPT_MODE_ECB);
    
$iv mcrypt_create_iv($iv_sizeMCRYPT_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$textMCRYPT_MODE_ECB$iv);
    echo 
strlen($crypttext) . "\n";
?>

上の例の出力は以下となります。

42
64

より高度な API やサンプルについては mcrypt_module_open() も参照ください。


Mcrypt 関数
PHP Manual