PHP 8.5.0 Alpha 1 available for testing

gmp_random

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_randomNúmero GMP aleatorio

Advertencia

Esta funcionalidad está OBSOLETA a partir de PHP 7.2.0 y ha sido ELIMINADA a partir de PHP 8.0.0.

Descripción

gmp_random(int $limiter = 20): GMP

Genera un número aleatorio. Este número estará comprendido entre cero y (2 ** n) -1, donde n es el número de bits por limb multiplicado por limiter. Si limiter es negativo, se genera un número negativo.

Un limb es un mecanismo interno de GMP. El número de bits en un limb no es estático, y puede variar entre los sistemas. En general, el número de bits por limb es 32 o 64, pero esto no está garantizado.

Precaución

Esta función no genera valores criptográficamente seguros, y no debe ser utilizada con fines criptográficos, o con fines que requieran que los valores devueltos sean indescifrables.

Si se requiere aleatoriedad criptográficamente segura, el Random\Randomizer puede ser utilizado con el motor Random\Engine\Secure. Para casos de uso simples, las funciones random_int() y random_bytes() proporcionan una API práctica y segura que es soportada por el CSPRNG del sistema operativo.

Parámetros

limiter

El limitador.

Un objeto GMP, un entero, o un string que puede ser interpretado como un número siguiendo la misma lógica que si la cadena fuera usada en gmp_init() con detección automática de la base (es decir cuando base es igual a 0).

Valores devueltos

Un número GMP aleatorio.

Ejemplos

Ejemplo #1 Ejemplo con gmp_random()

<?php
$rand1
= gmp_random(1); // número aleatorio de 0 a 1 * bits por limb
$rand2 = gmp_random(2); // número aleatorio de 0 a 2 * bits por limb

echo gmp_strval($rand1) . "\n";
echo
gmp_strval($rand2) . "\n";
?>

El ejemplo anterior mostrará :

1915834968
8642564075890328087

add a note

User Contributed Notes 1 note

up
1
asphp at dsgml dot com
9 years ago
Warning: Do not use this function.

Use gmp_random_bits() or gmp_random_range() instead.

The documentation and the code for this function do NOT match, and in any case this function is quite useless.
To Top