PHP 8.5.0 Alpha 1 available for testing

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 un string de bytes pseudo-aleatorios.

Parámetros

size

La longitud deseada del token, en bytes.

strong

Definido como true, indica que se utilizará /dev/random, de lo contrario, se utilizará /dev/urandom. Este parámetro es ignorado en Windows.

Valores devueltos

El token generado, en forma de string de bytes.

Errores/Excepciones

Si el parámetro strong es true, entonces se emitirá una advertencia de nivel E_WARNING cuando la función de devolución de llamada rand() se utilice para completar los bytes aleatorios faltantes (es decir, cuando no hay suficientes datos aleatorios inicialmente).

Ejemplos

Ejemplo #1 Ejemplo con OAuthProvider::generateToken()

<?php
$p
= new OAuthProvider();

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

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

?>

Resultado del ejemplo anterior es similar a :

4
b6a82c27

Notas

Nota:

Cuando no hay suficientes datos aleatorios disponibles en el sistema, esta función completará los bytes faltantes utilizando la función interna de PHP rand().

Ver también

add a note

User Contributed Notes 1 note

up
0
carlosouza at me dot com
13 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