background image

return $uuid;
}
}

2,MD5:
与 guid 一样会输出 32 字符十六进制数,区别是 guid 是随机产生的,md5 需要根据输
入的数据生成。
例子,
代码如下:

<?php
$str = "Hello";
echo md5($str);
?>

输出,
代码如下:

8b1a9953c4611296a827abf8c47804d7

优点:可以根据输入的种子数据来控制输出的数值,如果种子数据是规律性不重复的,
通过 md5 可以对数据进行保护,产生很大的混淆作用。
缺点:32 位字符过长;需提供不重复的种子数据;
用法:高并发,以秒为种子数据,仍然会出现重复现象。
代码如下:

<?php
/*
*结合 time()函数使用,以 1970 年到当前时间的秒数作为种子数。
*/
$str=time();
echo md5($str);
?>

3,uniqid():返回 13 或 23 位字符串。
对于我们目的来说,uniqid()像是 md5()的改进版,尤其是我们可以采用差异性标识作
为字符串前缀,可以降低重复命名出现的几率。
对于非高并发等极端情况,推荐使用此函数,已经可以满足一般性需求。
详细说明,
定义:uniqid() 

 

函数基于以微秒计的当前时间,生成一个唯一的 ID。

用法:uniqid(prefix,more_entropy)
说明:prefix 可以为输出的字符串添加前缀,示例如下,more_entropy 参数为 true 时,