ランダムなトークンを生成する

# OAuthProvider::generateToken

(PECL OAuth >= 1.0.0)

OAuthProvider::generateToken — ランダムなトークンを生成する

### 説明

final public static OAuthProvider::generateToken ( int `$size` [, bool `$strong` = false ] ) : string

擬似乱数を使ってランダムなバイトの文字列を生成します。

### パラメータ

`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() - Creates an initialization vector (IV) from a random source