📜  PHP | random_int()函数(1)

📅  最后修改于: 2023-12-03 15:33:34.286000             🧑  作者: Mango

PHP | random_int()函数

random_int()函数是PHP 7中新增加的函数,其主要用于生成随机整数。在此之前,PHP已经有了mt_rand()rand()等函数,但由于其生成的随机数不是很安全,容易被预测,因此,PHP在7版本中新增了random_int()函数,以更安全地生成随机数。

函数定义
random_int(int $min, int $max) : int
参数
  • $min:所生成随机整数的最小值。
  • $max:所生成随机整数的最大值。
返回值

返回的值为一个随机的整数,其范围在$min$max之间(包括$min$max)。

使用方法
$random_int = random_int(1, 10);
echo $random_int; // 输出1到10之间的一个整数
安全性

由于random_int()函数的随机数是使用CSPRNG算法生成的,因此,其生成的随机数较为安全,不容易被预测。

随机数攻击

在使用random_int()函数时,需要注意其在各操作系统下的实现不尽相同,可能会影响其安全性。特别是在Windows操作系统下,由于其缺乏getrandom()/dev/urandom这样的API,因此random_int()函数可能会降级为使用不安全的随机数算法,如rand()mt_rand()。因此,在安全场景下建议使用Linux或Unix系统,或者验证random_int()函数生成的随机数是否安全。

示例
// 生成8位随机验证码
$min = 10000000;
$max = 99999999;
$code = random_int($min, $max);
echo $code; // 输出一个长度为8位的随机数
参考文献