関数・クラス解説

mcrypt_module_open

version:PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7 (公式)

使用するアルゴリズムおよびモードのモジュールをオープンする

公式リファレンス

書式

mcrypt_module_open ( string $algorithm , string $algorithm_directory , string $mode , string $mode_directory ) : resource

説明

この関数は、使用するアルゴリズムおよびモードのモジュールをオープン します。アルゴリズム名は、たとえば "twofish" のように名前で指定するか定数 MCRYPT_暗号名 のいずれかを使用して指定します。 ライブラリは mcrypt_module_close() をコールする ことによりクローズされます。

パラメータ

algorithm
MCRYPT_暗号名 定数のいずれか、あるいはアルゴリズム名をあらわす文字列。
algorithm_directory
暗号化モジュールの位置を指定する際には algorithm_directory を使います。 ディレクトリ名を指定した場合には、これが使用されます。 これらの一つに空の文字列("")を指定した場合、php.ini ディレクティブ mcrypt.algorithms_dir に設定された値を使います。 これらが設定されていない場合、libmcrypt をコンパイルした際の デフォルトのディレクトリ (通常は/usr/local/lib/libmcrypt) を使います。
mode
定数 MCRYPT_MODE_モード名、あるいは文字列"ecb", "cbc", "cfb", "ofb", "nofb" ,"stream" のいずれか。
mode_directory
暗号化モジュールの位置を指定する際には mode_directory を使います。 ディレクトリ名を指定した場合には、これが使用されます。 これらの一つに空の文字列("")を指定した場合、php.ini ディレクティブ mcrypt.modes_dir に設定された値を使います。 これらが設定されていない場合、libmcrypt をコンパイルした際の デフォルトのディレクトリ (通常は/usr/local/lib/libmcrypt) を使います。

返値

通常は暗号化記述子を返します。エラー時は FALSE を返します。

注意

警告この関数は PHP 7.1.0 で非推奨となり、PHP 7.2.0 で削除されました。この関数に頼らないことを強く推奨します。

サンプル

例1 mcrypt_module_open() の例

    $td = mcrypt_module_open(MCRYPT_DES, '',         MCRYPT_MODE_ECB, '/usr/lib/mcrypt-modes');     $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');

上の例の最初の行では、デフォルトのディレクトリから DES 暗号化を、 そして /usr/lib/mcrypt-modes から ECB モードの オープンを試みます。2 行目の例では暗号化形式とモードを文字列で 指定しています。これは、libmcrypt 2.4.x あるいは 2.5.x に対して 拡張モジュールがリンクされている場合にのみ使用可能です。

例2 mcrypt_module_open() を暗号化で使用する

    /* 暗号モジュールをオープンします */     $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');     /* IV を作成し、キー長を定義します。Windows では、かわりに      * MCRYPT_RAND を使用します */     $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);     $ks = mcrypt_enc_get_key_size($td);     /* キーを作成します */     $key = substr(md5('very secret key'), 0, $ks);     /* 暗号化処理を初期化します */     mcrypt_generic_init($td, $key, $iv);     /* データを暗号化します */     $encrypted = mcrypt_generic($td, 'This is very important data');     /* 暗号化ハンドラを終了します */     mcrypt_generic_deinit($td);     /* 復号用の暗号モジュールを初期化します */     mcrypt_generic_init($td, $key, $iv);     /* 暗号化された文字列を復号します */     $decrypted = mdecrypt_generic($td, $encrypted);     /* 復号ハンドルを終了し、モジュールを閉じます */     mcrypt_generic_deinit($td);     mcrypt_module_close($td);     /* 文字列を表示します */     echo trim($decrypted) . "\n";

参考

  • mcrypt_module_close() - mcrypt モジュールを閉じる
  • mcrypt_generic() - データを暗号化する
  • mdecrypt_generic() - データを復号する
  • mcrypt_generic_init() - 暗号化に必要な全てのバッファを初期化する
  • mcrypt_generic_deinit() - 暗号化モジュールを終了する
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール