OAuthProvider::generateToken

(PECL OAuth >= 1.0.0)

OAuthProvider::generateTokenGera um token aleatório

Descrição

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

Gera uma string de bytes pseudo-randômicos.

Parâmetros

size

O comprimento desejado do token, em bytes.

strong

Definir para true significa que /dev/random será usado para entropia, caso contrário /dev/urandom (de não-bloqueio) será usado. Este parâmetro é ignorado no Windows.

Valor Retornado

O token gerado, como uma string de bytes.

Erros/Exceções

Se o parâmetro strong for true, um erro de nível E_WARNING será emitido quando a implementação de rand() for usada para preencher os bytes aleatórios remanescentes (ex.: quando não forem encontrados dados aleatórios suficientes inicialmente).

Exemplos

Exemplo #1 Exemplo de OAuthProvider::generateToken()

<?php
$p
= new OAuthProvider();

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

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

?>

O exemplo acima produzirá algo semelhante a:

4
b6a82c27

Notas

Nota:

Quando dados aleatórios insuficientes estiverem disponíveis ao sistema, esta função irá preencher os bytes aleatórios remanescentes usando a implementação rand() interna do PHP.

Veja Também

add a note add a note

User Contributed Notes 1 note

up
1
carlosouza at me dot com
11 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