详解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 相关文章推荐
实用函数4
Nov 08 PHP
php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
Nov 07 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
Jun 25 PHP
php防止sql注入简单分析
Mar 18 PHP
CodeIgniter删除和设置Cookie的方法
Apr 07 PHP
学习php设计模式 php实现建造者模式
Dec 07 PHP
简单谈谈php浮点数精确运算
Mar 10 PHP
php处理单文件、多文件上传代码分享
Aug 24 PHP
关于PHP定时发送服务的解决办法
Apr 23 PHP
Laravel框架分页实现方法分析
Jun 12 PHP
Laravel核心解读之异常处理的实践过程
Feb 24 PHP
简单实用的PHP文本缓存类实例
Mar 22 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
Yii2框架使用计划任务的方法
2016/05/25 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
jquery表格内容筛选实现思路及代码
2013/04/16 Javascript
jquery根据name属性查找的小例子
2013/11/21 Javascript
JQuery实现鼠标移动到图片上显示边框效果
2014/01/09 Javascript
常见的jQuery选择器汇总
2014/11/24 Javascript
node.js中的fs.futimesSync方法使用说明
2014/12/17 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
2015/05/25 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
2017/01/03 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
js + css实现标签内容切换功能(实例讲解)
2017/10/09 Javascript
vue.js中npm安装教程图解
2018/04/10 Javascript
NodeJs项目中关闭ESLint的方法
2018/08/09 NodeJs
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
Angular(5.2-&gt;6.1)升级小结
2018/12/27 Javascript
node.JS二进制操作模块buffer对象使用方法详解
2020/02/06 Javascript
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
2014/07/09 Python
python实现简单的TCP代理服务器
2014/10/08 Python
python检测远程端口是否打开的方法
2015/03/14 Python
python 实现红包随机生成算法的简单实例
2017/01/04 Python
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
Python实现上下班抢个顺风单脚本
2018/02/07 Python
python thrift 实现 单端口多服务的过程
2020/06/08 Python
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
HTML5进度条特效
2014/12/18 HTML / CSS
wedgwood加拿大官网:1759年成立的英国国宝级陶瓷餐具品牌
2018/07/17 全球购物
英国现代家具和装饰网站:PN Home
2018/08/16 全球购物
经理职责范文
2013/11/08 职场文书
酒店拾金不昧表扬信
2014/01/18 职场文书
国防教育标语
2014/10/08 职场文书
开幕式邀请函
2015/01/31 职场文书
退休职工欢送会致辞
2015/08/01 职场文书
2019财务管理制度最新范本!
2019/07/09 职场文书
MySQL 原理优化之Group By的优化技巧
2022/08/14 MySQL