** 生成订单号 **
function build_order_no(){
return date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);
}
** 生成GUID **
function guid() {
if (function_exists('com_create_guid')) {
return com_create_guid();
} else {
mt_srand((double)microtime()*10000);
$charid = strtoupper(md5(uniqid(rand(), true)));
$hyphen = chr(45);
$uuid = chr(123)
.substr($charid, 0, 8).$hyphen
.substr($charid, 8, 4).$hyphen
.substr($charid,12, 4).$hyphen
.substr($charid,16, 4).$hyphen
.substr($charid,20,12)
.chr(125);
return $uuid;
}
}
** PHP随机数函数 **
1、rand() 基于 libc 的随机种子发生器
2、mt_rand() 基于 Mersenne Twister 算法返回随机整数。它可以产生随机数值的平均速度比 libc 提供的 rand() 快四倍。
3、random_int() 生成密码安全的伪随机整数
4、random_bytes() 生成密码安全的伪随机字符串
5、openssl_random_pseudo_bytes() 生成密码安全的伪随机字符串
3、4是在php7中引入的两个CSPRNG函数,它可以生成更加可靠,随机性更高的随机数种子
谢谢~