OAuthProvider::generateToken

(PECL OAuth >= 1.0.0)

OAuthProvider::generateToken生成一個(gè)隨機(jī)令牌

說明

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

生成一個(gè)偽隨機(jī)字節(jié)的 字符串

參數(shù)

size

想要的令牌長度,單位為字節(jié)。

strong

設(shè)置為 true 則意味著將對熵使用 /dev/random ,否則使用非阻塞的 /dev/urandom。在 Windows 平臺將忽略此參數(shù)。

返回值

生成的令牌,一個(gè)以字節(jié)為單位的 字符串 。

錯(cuò)誤/異常

如果 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é)。

參見