<?PHP
$str
= uniqid(mt_rand(),1);
echo
'sha1: '
,sha1(
$str
);
echo
'<br>'
;
echo
'MD5: '
,md5(
$str
);
采用uniqid函数,配合mt_rand随机函数,最后使用散列值得出最终唯一值。
但是通过测试中,发现随机数的唯一性有些相同部分,大概有11位相同的(但无大碍)
第二种方法:GUID
<?PHP
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
"<br>"
;
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
"<br>"
;
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
"<br>"
;
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));