详解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 相关文章推荐
Linux下ZendOptimizer的安装与配置方法
Apr 12 PHP
php xfocus防注入资料
Apr 27 PHP
PHP+Mysql+jQuery实现动态展示信息
Oct 08 PHP
PHP对象Object的概念 介绍
Jun 14 PHP
WAMP环境中扩展oracle函数库(oci)
Jun 26 PHP
php简单备份与还原MySql的方法
May 09 PHP
Laravel5.1自定义500错误页面示例
Oct 09 PHP
PHP搭建大文件切割分块上传功能示例
Jan 04 PHP
深入讲解PHP的对象注入(Object Injection)
Mar 01 PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
Aug 10 PHP
PHP SESSION跨页面传递失败解决方案
Dec 11 PHP
PHP基本语法
Mar 31 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 各种应用乱码问题的解决方法
2010/05/09 PHP
php实现统计目录文件大小的函数
2015/12/25 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
2019/10/30 PHP
JS模拟面向对象全解(二、类型与赋值)
2011/07/13 Javascript
jquery显示和隐藏div特效实例
2013/02/27 Javascript
JS 获取滚动条高度示例代码
2013/10/24 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
浅谈Javascript的静态属性和原型属性
2015/05/07 Javascript
JS获取当前脚本文件的绝对路径
2016/03/02 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
2016/03/06 Javascript
使用nodejs下载风景壁纸
2017/02/05 NodeJs
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
jQuery回调方法使用示例
2017/06/26 jQuery
JS实现点击按钮随机生成可拖动的不同颜色块示例
2019/01/30 Javascript
js如何获取图片url的Blob值并预览示例代码
2019/03/07 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
[48:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 VG vs KG
2018/03/31 DOTA
[01:01:43]EG vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
Python的Django框架中的数据库配置指南
2015/07/17 Python
python xml.etree.ElementTree遍历xml所有节点实例详解
2016/12/04 Python
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
2017/12/20 Python
详解PyTorch批训练及优化器比较
2018/04/28 Python
python 重定向获取真实url的方法
2018/05/11 Python
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
如何在windows下安装配置python工具Ulipad
2020/10/27 Python
详解Python模块化编程与装饰器
2021/01/16 Python
非功能性需求都包括哪些方面
2013/10/29 面试题
讲座主持词
2014/03/20 职场文书
机关干部三严三实心得体会
2014/10/13 职场文书
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
2014年领导班子工作总结
2014/12/11 职场文书
大学生自荐材料范文
2014/12/30 职场文书
美容院员工规章制度
2015/08/05 职场文书
利用Python实现模拟登录知乎
2022/05/25 Python