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