详解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 相关文章推荐
教你如何把一篇文章按要求分段
Oct 09 PHP
PHP中的正规表达式(二)
Oct 09 PHP
增加反向链接的101个方法 站长推荐
Jan 31 PHP
PHP实现异步调用方法研究与分享
Oct 27 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
Nov 10 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
Jun 26 PHP
php中\r \r\n \t的区别示例介绍
Feb 08 PHP
CodeIgniter安全相关设置汇总
Jul 03 PHP
CodeIgniter中实现泛域名解析
Jul 19 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
Jun 17 PHP
PHP获取当前日期及本周一是几月几号的方法
Mar 28 PHP
PHP实现负载均衡下的session共用功能
Apr 17 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下mysql数据库操作类(改自discuz)
2010/07/03 PHP
shopex中集成的站长统计功能的代码简单分析
2011/08/11 PHP
php将access数据库转换到mysql数据库的方法
2014/12/24 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
PHP7 foreach() 函数修改
2021/03/09 PHP
javascript 禁止复制网页
2009/06/11 Javascript
jQuery 淡出一个图像到另一个图像的实现代码
2013/06/12 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
js实现超酷的照片墙展示效果图附源码下载
2015/10/08 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
浅析AngularJs HTTP响应拦截器
2015/12/28 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
jQuery树插件zTree使用方法详解
2017/05/02 jQuery
vue组件学习教程
2017/09/09 Javascript
加快Vue项目的开发速度的方法
2018/12/12 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
video.js添加自定义组件的方法
2020/12/09 Javascript
[01:44]剑指西雅图 展望TI之CIS战队专访
2014/06/25 DOTA
python远程登录代码
2008/04/29 Python
python调用新浪微博API项目实践
2014/07/28 Python
python网络编程实例简析
2014/09/26 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
Orlebar Brown官网:设计师泳裤和泳装
2020/12/08 全球购物
大唐电信科技股份有限公司java工程师面试经历
2016/12/09 面试题
EJB的基本架构
2016/09/22 面试题
挑战杯创业计划书的写作指南
2014/01/07 职场文书
宗教学大学生职业生涯规划范文
2014/02/08 职场文书
小小商店教学反思
2014/04/27 职场文书
县政府班子个人对照检查材料
2014/10/05 职场文书
会计出纳岗位职责
2015/03/31 职场文书
读《方与圆》有感:交友方圆有度
2020/01/14 职场文书