PHP生成唯一ID的三种方法
来源:互联网 发布:mac怎么安装ant 编辑:程序博客网 时间:2024/05/21 09:35
1、md5(time() . mt_rand(1,1000000));
这种方法有一定的概率会出现重复
2、php内置函数uniqid()
uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.
w3school参考手册有一句话:"由于基于系统时间,通过该函数生成的 ID 不是最佳的。如需生成绝对唯一的 ID,请使用 md5() 函数"。
下面方法返回结果类似:5DDB650F-4389-F4A9-A100-501EF1348872
3、官方uniqid()参考手册有用户提供的方法,结果类似:{E2DFFFB3-571E-6CFC-4B5C-9FEDAAF2EFD7}.
转自:http://www.cnblogs.com/xulei13140106/p/5946398.html
这种方法有一定的概率会出现重复
2、php内置函数uniqid()
uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.
w3school参考手册有一句话:"由于基于系统时间,通过该函数生成的 ID 不是最佳的。如需生成绝对唯一的 ID,请使用 md5() 函数"。
下面方法返回结果类似:5DDB650F-4389-F4A9-A100-501EF1348872
com_create_guid()是php自带的生成唯一id方法,php5之后貌似已经没有了。
function uuid() {if (function_exists ( 'com_create_guid' )) {return com_create_guid ();} else {mt_srand ( ( double ) microtime () * 10000 ); //optional for php 4.2.0 and up.随便数播种,4.2.0以后不需要了。$charid = strtoupper ( md5 ( uniqid ( rand (), true ) ) ); //根据当前时间(微秒计)生成唯一id.$hyphen = chr ( 45 ); // "-"$uuid = '' . //chr(123)// "{"substr ( charid,0,8).hyphen . substr ( charid,8,4).hyphen . substr ( $charid, 12, 4 ) . hyphen.substr(charid, 16, 4 ) . hyphen.substr(charid, 20, 12 );//.chr(125);// "}"return $uuid;}}
3、官方uniqid()参考手册有用户提供的方法,结果类似:{E2DFFFB3-571E-6CFC-4B5C-9FEDAAF2EFD7}.
public function create_guid($namespace = '') {static $guid = '';$uid = uniqid("", true);data=namespace;data.=_SERVER['REQUEST_TIME'];data.=_SERVER['HTTP_USER_AGENT'];data.=_SERVER['LOCAL_ADDR'];data.=_SERVER['LOCAL_PORT'];data.=_SERVER['REMOTE_ADDR'];data.=_SERVER['REMOTE_PORT'];hash=strtoupper(hash(′ripemd128′,uid . guid.md5(data)));$guid = '{' .substr($hash, 0, 8) .'-' .substr($hash, 8, 4) .'-' .substr($hash, 12, 4) .'-' .substr($hash, 16, 4) .'-' .substr($hash, 20, 12) .'}';return $guid;}
转自:http://www.cnblogs.com/xulei13140106/p/5946398.html
0 0
- PHP生成唯一ID的三种方法
- PHP----生成唯一的ID
- php 生成唯一ID
- php生成唯一id
- PHP生成唯一ID
- php 生成唯一id的几种解决方法
- php 生成唯一id的几种解决方法
- PHP 随机生成唯一的ID
- 游戏服务器生成全局唯一ID的几种方法
- 生成全局唯一ID的几种方法
- 服务器唯一标识 id 的生成方法
- iOS 设备唯一 ID 的三种替代方法之一
- PHP生成唯一标识ID
- php 生成分布式唯一ID
- php订单生成唯一Id
- 生成唯一的ID
- 采用PHP函数uniqid生成一个唯一的ID
- 采用PHP函数uniqid生成一个唯一的ID
- css 360浏览器模式控制
- 基本类型包装类及自动装箱拆箱
- [HDU1269]迷宫城堡(Tarjan)
- <unity shader入门精要>
- 虚拟存储器(二)——Linux虚拟存储器系统
- PHP生成唯一ID的三种方法
- jQuery - 列表控件推荐
- HTML BOM(浏览器对象模型)
- [Leetcode] #542 01 Matrix (BFS)
- 二路归并法求解两个整型数组的交集
- 用Java写一个模拟电池充电的样式2017-5-6
- Java中MD5具体加密
- 如何解决Windows系统下pip安装包错误Unable to find vcvarsall.bat
- java准确读取word文件页数