php中使用uniqidmt_rand生成随机不重复字符串的方法

     $str = uniqid(mt_rand(),1);
     echo 'sha1: ',sha1($str);
     echo '
'
;
     echo 'MD5: ',md5($str);

采用uniqid函数,配合mt_rand随机函数,最后使用散列值得出最终唯一值。

成都创新互联主营大英网站建设的网络公司,主营网站建设方案,成都App制作,大英h5小程序设计搭建,大英网站营销推广欢迎大英等地区企业咨询


但是通过测试中,发现随机数的唯一性有些相同部分,大概有11位相同的(但无大碍)

第二种方法:GUID

 
  
 
     echo sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));
 
     echo "
"
;
 
     echo sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));
 
     echo "
"
;
 
     echo sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));
 
     echo "
"
;
 
     echo sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));

分享文章:php中使用uniqidmt_rand生成随机不重复字符串的方法
网页网址:http://scjbc.cn/article/gdgigs.html