加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 05:16:14 所属栏目:PHP教程 来源:网络整理
导读:方法一: $str = uniqid(mt_rand(),1); echo 'sha1: ',sha1($str); echo ' '; echo 'MD5:',md5($str); ?> 采用uniqid函数,配合mt_rand随机函数,最后使用散列值得出最终唯一值。 但是通过测试中,发现随机数的唯一性有些相同部分,大概有11位相同的(但无大

方法一:

$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);

?>

(编辑:李大同)

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

    推荐文章
      热点阅读