(PECL OAuth >= 1.0.0)
OAuthProvider::generateToken — 生成一個(gè)隨機(jī)令牌
$size
, bool $strong
= false): string生成一個(gè)偽隨機(jī)字節(jié)的 字符串 。
size
想要的令牌長度,單位為字節(jié)。
strong
設(shè)置為 true
則意味著將對熵使用 /dev/random
,否則使用非阻塞的 /dev/urandom
。在 Windows 平臺將忽略此參數(shù)。
生成的令牌,一個(gè)以字節(jié)為單位的 字符串 。
如果 strong
參數(shù)為 true
, 則當(dāng)回退到用 rand() 來實(shí)現(xiàn)填充剩余的隨機(jī)字節(jié)的時(shí)候,將觸發(fā)一個(gè) E_WARNING
級別的錯(cuò)誤(比如,當(dāng)最初找不到足夠的隨機(jī)數(shù)據(jù)的時(shí)候)。
示例 #1 OAuthProvider::generateToken() 例子
<?php
$p = new OAuthProvider();
$t = $p->generateToken(4);
echo strlen($t), PHP_EOL;
echo bin2hex($t), PHP_EOL;
?>
以上例程的輸出類似于:
4 b6a82c27
注意:
當(dāng)系統(tǒng)沒有足夠的隨機(jī)數(shù)據(jù)可用的時(shí)候,此函數(shù)將使用 PHP 內(nèi)部的 rand() 來實(shí)現(xiàn)填充剩余的隨機(jī)字節(jié)。