(PHP 4, PHP 5, PHP 7)
mcrypt_create_iv — 乱数ソースから初期化ベクトル(IV)を生成する
$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_256, MCRYPT_MODE_CFB);
$iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
?>