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); ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |