gmp_random

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

gmp_random随机数

警告

此函数已在 PHP 7.2.0 中被 弃用,并在 PHP 8.0.0 中被 移除。强烈建议不要依赖此函数。

说明

gmp_random(int $limiter = 20): GMP

生成一个随机数。该数字将在 0 和 (2 ** n) - 1 之间,其中 n 是每个肢体的位数乘以 limiter。如果 limiter 为负数,则生成负数。

肢体是 GMP 的内部机制。肢体中的位数不是固定的,并且在不同的系统上可能会有所不同。通常,肢体中的位数为 32 或 64,但不能保证。

注意

此函数不会生成密码学安全的随机数,并且 不能 用于密码学目的,或需要返回值不可猜测的目的。

如果需要密码学安全的随机数,可以使用 Random\RandomizerRandom\Engine\Secure 引擎。对于简单的用例,random_int()random_bytes() 函数提供了便捷且安全的 API,其由操作系统的 CSPRNG 支持。

参数

limiter

限制器。

一个 GMP 对象,一个 int 或一个数字 string

返回值

一个随机的 GMP 数字。

示例

示例 #1 gmp_random() 示例

<?php
$rand1
= gmp_random(1); // 随机数,范围从 0 到 1 * 位数/肢体
$rand2 = gmp_random(2); // 随机数,范围从 0 到 2 * 位数/肢体

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

上面的示例将输出

1915834968
8642564075890328087

添加注释

用户贡献的注释 1 个注释

1
asphp at dsgml dot com
8 年前
警告:不要使用此函数。

改用 gmp_random_bits() 或 gmp_random_range()。

此函数的文档和代码不匹配,并且无论如何这个函数非常无用。
To Top