随机字符串
// 生成适合加密用途的任意长度的加密随机字节串,发生错误将报错,random_bytes结果是二进制数据;结果为$length长度2倍长度的字符串
bin2hex(random_bytes(int $length));
// 生成一个伪随机字节串,openssl_random_pseudo_bytes结果是二进制数据;结果为$length长度2倍长度的字符串;$crypto_strong表示在生成随机字节的过程中是否使用了强加密算法
bin2hex(openssl_random_pseudo_bytes(int $length , bool &$crypto_strong = ?));
随机数字
// 获取rand()可能返回的最大值
getrandmax();
// 获取mt_rand()可能返回的最大值
mt_getrandmax();
// 获取$min和$max之间的随机值
rand($min = 0, $max = getrandmax());
// 获取$min和$max之间的随机值,比rand快四倍
mt_rand($min = 0, $max = mt_getrandmax());
// 生成适用于无偏结果至关重要的加密随机整数,发生错误将报错
random_int(int $min,int $max ):int
// 生成一个$bits位的随机数,字将在0到(2 ** bits)-1之间;需要GMP扩展
gmp_strval(gmp_random_bits($bits));
// 生成$mix和$max之间的随机数,可以为负数;$num1、$num2可以时int|string|GMP;需要GMP扩展
gmp_strval(gmp_random_range($mix, $max));
GMP扩展