array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'function.gmp-random.php', 1 => 'gmp_random', ), 'up' => array ( 0 => 'ref.gmp.php', 1 => 'GMP 函数', ), 'prev' => array ( 0 => 'function.gmp-random-seed.php', 1 => 'gmp_random_seed', ), 'next' => array ( 0 => 'function.gmp-root.php', 1 => 'gmp_root', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/gmp/functions/gmp-random.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.0.4, PHP 5, PHP 7)
gmp_random — Random number
本函数已自 PHP 7.2.0 起被废弃,并自 PHP 8.0.0 起被移除。 强烈建议不要依赖本函数。
Generate a random number. The number will be between 0 and (2 ** n) - 1,
where n is the number of bits per limb multiplied by limiter
.
If limiter
is negative, negative numbers are generated.
A limb is an internal GMP mechanism. The number of bits in a limb is not static, and can vary from system to system. Generally, the number of bits in a limb is either 32 or 64, but this is not guaranteed.
本函数并不会生成安全加密的值,并且不可用于加密或者要求返回值不可猜测的目的。
如果需要加密安全随机,则可以将 Random\Engine\Secure 引擎用于 Random\Randomizer。对于简单的用例,random_int() 和 random_bytes() 函数提供了操作系统的 CSPRNG 支持的方便且安全的 API。
A random GMP number.
示例 #1 gmp_random() example
<?php
$rand1 = gmp_random(1); // random number from 0 to 1 * bits per limb
$rand2 = gmp_random(2); // random number from 0 to 2 * bits per limb
echo gmp_strval($rand1) . "\n";
echo gmp_strval($rand2) . "\n";
?>
以上示例会输出:
1915834968 8642564075890328087