加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php uniqid mt_rand 生成随机不重复字符串

发布时间:2020-05-25 01:19:19 所属栏目:PHP 来源:互联网
导读:本文章向码农朋友介绍关于php中使用uniqid mt_rand 生成随机不重复字符串的几种方法,需要的码农可以参考一下。

方法一:

$str = uniqid(mt_rand(),1);

echo 'sha1: ',sha1($str);

echo '
';

echo 'MD5:',md5($str);

?>

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

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

第二种方法:GUID

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

echo "
";

echo sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X',65535));

?>

实例三:用uniqidmt_rand生成随机不重复字符串的方法

//使用uniqid mt_rand 生成随机不重复字符串的方法

$snKeys=array();

$total=10;//设置生成数量

$prefix='code';//字符串前缀

while(count($snKeys) < $total) {

$snKeys[$prefix . md5(uniqid(mt_rand(),true))] = null;

}

print_r($snKeys);

?>

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读