PHP Conference Nagoya 2025

OAuthProvider::generateToken

(PECL OAuth >= 1.0.0)

OAuthProvider::generateTokenGenera un token aleatorio

Descripción

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

Genera una string de bytes pseudo-aleatorios.

Parámetros

size

La longitud The desired token length, in terms of bytes.

strong

Establecer a true significa que /dev/random será usada para la entropía, de lo contrario /dev/urandom será usado. Este parámetro es ignorado en Windows.

Valores devueltos

El token generado, como un string de bytes.

Errores/Excepciones

Si el parámetro strong es true, entonces un error E_WARNING será emitido cuando la implementación rand() sea usada para rellenar los restantes bytes aleatorios (Ejemplo, cuando no suficientes datos aleatorios fueron encontrados, inicialmente).

Ejemplos

Ejemplo #1 Ejemplo de OAuthProvider::generateToken()

<?php
$p
= new OAuthProvider();

$t = $p->generateToken(4);

echo
strlen($t), PHP_EOL;
echo
bin2hex($t), PHP_EOL;

?>

El resultado del ejemplo sería algo similar a:

4
b6a82c27

Notas

Nota:

Cuando no suficientes datos aleatorios están disponibles para el sistema, esta función llenará los restantes bytes aleatorios usando la implementación interna de PHP rand().

Ver también

add a note

User Contributed Notes 1 note

up
0
carlosouza at me dot com
12 years ago
Be careful when setting the 'strong' parameter to true.

If you system doesn't have enough entropy your script will block which can cause timeouts in other parts of your code.

In my case, the most serious symptom was my script blocking when trying to read from /dev/random and causing a 'MySQL has gone away' error.

Hopefully this saves someone the trouble when deciding to use /dev/random entropy
To Top