警告:请勿使用此函数。
请改用 gmp_random_bits() 或 gmp_random_range()。
此函数的文档和代码不匹配,无论如何此函数都非常无用。
(PHP 4 >= 4.0.4, PHP 5, PHP 7)
gmp_random — 随机数
此函数自 PHP 7.2.0 起已弃用,自 PHP 8.0.0 起移除。强烈建议不要依赖此函数。
生成一个随机数。该数将在 0 和 (2 ** n) - 1 之间,其中 n 是每肢的位数乘以 limiter
。如果 limiter
为负数,则生成负数。
肢是 GMP 的内部机制。肢中的位数不是静态的,可能因系统而异。通常,肢中的位数为 32 或 64,但这并非保证。
此函数不会生成密码学安全的数值,绝不能用于加密目的或需要返回难以猜测的值的目的。
如果需要密码学安全的随机性,则可以使用 Random\Randomizer 和 Random\Engine\Secure 引擎。对于简单的用例,random_int() 和 random_bytes() 函数提供了一个方便且安全的 API,它由操作系统的 CSPRNG 支持。
limiter
限制器。
一个 GMP 对象、一个 int 或一个 string,可以解释为数字,遵循与在 gmp_init() 中使用字符串进行自动基数检测(即,当 base
等于 0 时)相同的逻辑。
一个随机的 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
警告:请勿使用此函数。
请改用 gmp_random_bits() 或 gmp_random_range()。
此函数的文档和代码不匹配,无论如何此函数都非常无用。