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

# OAuthProvider::generateToken

(PECL OAuth >= 1.0.0)

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

### 説明

final public static function 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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open