OAuthProvider::generateToken
(PECL OAuth >= 1.0.0)
OAuthProvider::generateToken — ランダムなトークンを生成する
説明
final public static string OAuthProvider::generateToken
( int
$size
[, bool $strong = false
] )擬似乱数を使ってランダムなバイトの文字列を生成します。
パラメータ
-
size -
トークンの長さ。バイト単位で指定します。
-
strong -
TRUEに設定すると、エントロピーとして /dev/random を使います。 それ以外の場合は、ブロックされることのない /dev/urandom を使います。 このパラメータは、Windows では無視されます。
返り値
生成されたトークンをバイト文字列で返します。
エラー / 例外
strong パラメータが TRUE のときは、
(十分な量の初期ランダムデータがなかったなどの理由で)
代替 rand() 実装を使うことになった場合に
E_WARNING レベルのエラーが発生します。
例
例1 OAuthProvider::generateToken() の例
<?php
$p = new OAuthProvider();
$t = $p->generateToken(4);
echo strlen($t), PHP_EOL;
echo bin2hex($t), PHP_EOL;
?>
上の例の出力は、 たとえば以下のようになります。
4 b6a82c27
注意
注意:
十分な量のランダムデータがシステムから得られなかった場合、この関数は PHP の rand() 関数の実装を使って残りのバイトを埋めます。
参考
- openssl_random_pseudo_bytes() - 疑似乱数のバイト文字列を生成する
- mcrypt_create_iv() - 乱数ソースから初期化ベクトル(IV)を生成する