详解php中生成标准uuid(guid)的方法


Posted in PHP onApril 28, 2019

UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。

通常平台 会提供生成UUID的API。UUID按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。

由以 下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相 同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。

关于 UUID这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers)。

在ColdFusion中可以用CreateUUID()函数很简单的生成UUID,其格式为:xxxxxxxx-xxxx-xxxx- xxxxxxxxxxxxxxxx(8-4-4-16),其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。

而标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxx (8-4-4-4-12)

<?php



function guid(){
 if (function_exists('com_create_guid')){
  return com_create_guid();
 }else{
  mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
  $charid = strtoupper(md5(uniqid(rand(), true)));
  $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;
 }
}
echo guid();
?>

以上所述是小编给大家介绍的php中生成标准uuid(guid)的方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
php 无限极分类
Mar 27 PHP
处理php自动反斜杠的函数代码
Jan 05 PHP
PHP初学者最感迷茫的问题小结
Mar 27 PHP
PHP调用Webservice实例代码
Jul 29 PHP
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
Apr 09 PHP
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
Sep 23 PHP
php顺序查找和二分查找示例
Mar 27 PHP
ThinkPHP中的三大自动简介
Aug 22 PHP
php检测url是否存在的方法
Apr 14 PHP
php数组索引与键值操作技巧实例分析
Jun 24 PHP
Yii中表单用法实例详解
Jan 05 PHP
Laravel中使用Queue的最基本操作教程
Dec 27 PHP
PHP写API输出的时用echo的原因详解
Apr 28 #PHP
PHP+mysql防止SQL注入的方法小结
Apr 27 #PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
Apr 27 #PHP
PHP操作路由器实现方法示例
Apr 27 #PHP
PHP切割汉字的常用方法实例总结
Apr 27 #PHP
YII框架常用技巧总结
Apr 27 #PHP
YII框架行为behaviors用法示例
Apr 26 #PHP
You might like
PHP完整的日历类(CLASS)
2006/11/27 PHP
PHP获取网站域名和地址的代码
2008/08/17 PHP
php 文件上传实例代码
2012/04/19 PHP
深入掌握include_once与require_once的区别
2013/06/17 PHP
PHP+redis实现添加处理投票的方法
2015/11/14 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
Firefox和IE兼容性问题及解决方法总结
2013/10/08 Javascript
Node.js中使用mongoskin操作mongoDB实例
2014/09/28 Javascript
JavaScript中的anchor()方法使用详解
2015/06/08 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
2015/08/26 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
2015/09/21 Javascript
基于JS实现Android,iOS一个手势动画效果
2016/04/27 Javascript
javascript获取select标签选中的值
2016/06/04 Javascript
vue移动UI框架滑动加载数据的方法
2018/03/12 Javascript
使用Phantomjs和Node完成网页的截屏快照的方法
2019/07/16 Javascript
JavaScript中的类型检查
2020/02/03 Javascript
Python中死锁的形成示例及死锁情况的防止
2016/06/14 Python
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
详解tensorflow训练自己的数据集实现CNN图像分类
2018/02/07 Python
详解python中docx库的安装过程
2019/11/08 Python
python批量修改xml属性的实现方式
2020/03/05 Python
python调用win32接口进行截图的示例
2020/11/11 Python
如何用Django处理gzip数据流
2021/01/29 Python
使用CSS3代码绘制可爱的Hello Kitty猫
2016/08/03 HTML / CSS
eBay法国购物网站:eBay.fr
2017/10/21 全球购物
德国高端单身人士交友网站:ElitePartner
2018/12/02 全球购物
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
Java面试题:请问一下代码输出是什么
2015/05/27 面试题
YII2 全局异常处理深入讲解
2021/03/24 PHP
物业公司采购员岗位职责
2013/12/31 职场文书
2014年商场工作总结
2014/11/22 职场文书
辩论赛主持人开场白
2015/05/29 职场文书
工伤调解协议书
2016/03/21 职场文书
三好学生竞选稿范文
2019/08/21 职场文书
导游词之吉林吉塔
2019/11/11 职场文书
分析Netty直接内存原理及应用
2021/06/14 Java/Android