Mcrypt 関数
PHP Manual

mcrypt_create_iv

(PHP 4, PHP 5, PHP 7)

mcrypt_create_iv乱数ソースから初期化ベクトル(IV)を生成する

説明

string mcrypt_create_iv ( int $size [, int $source = MCRYPT_DEV_URANDOM ] )

初期化ベクトルを、ランダムなソースから作成します。

IV は、単に暗号化ルーチンに異なる初期値を与えるためだけのものです。 この IV は、たとえ要求されていたとしても秘密にしておく必要はありません。 暗号化したデータとともに IV を送信したとしても、セキュリティを損ねる ことはありません。

パラメータ

size

IV のサイズ。

source

IV のソース。 MCRYPT_RAND (システムの乱数生成器)、 MCRYPT_DEV_RANDOM (/dev/random からデータを読む)および MCRYPT_DEV_URANDOM (/dev/urandom からデータを読む) を指定できます。 5.3.0 より前は、 Windows でサポートされているのは MCRYPT_RAND のみでした。

このパラメータのデフォルト値は、PHP 5.6.0 より前のバージョンでは MCRYPT_DEV_RANDOM でした。

注意: MCRYPT_DEV_RANDOM は、エントロピーが使えるようになるまでブロックする可能性があることに注意しましょう。

返り値

初期化ベクトル、あるいはエラー時に FALSE を返します。

変更履歴

バージョン 説明
5.6.0 source のデフォルト値が MCRYPT_DEV_URANDOM になりました。
5.3.0 MCRYPT_DEV_RANDOM 及び MCRYPT_DEV_URANDOM が Windows プラットフォーム上で利用可能になりました。
5.3.0 srand() を最初に呼び出す必要はもはやありません。 これは現在自動的に行われます。

例1 mcrypt_create_iv() の例

<?php
    $size 
mcrypt_get_iv_size(MCRYPT_CAST_256MCRYPT_MODE_CFB);
    
$iv mcrypt_create_iv($sizeMCRYPT_DEV_RANDOM);
?>

参考


Mcrypt 関数
PHP Manual