详解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 相关文章推荐
用DBSQL类加快开发MySQL数据库程序的速度
Oct 09 PHP
php读取本地文件常用函数(fopen与file_get_contents)
Sep 09 PHP
关于JSON以及JSON在PHP中的应用技巧
Nov 27 PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
Aug 18 PHP
Yii2实现让关联字段支持搜索功能的方法
Aug 10 PHP
php抛出异常与捕捉特定类型的异常详解
Oct 26 PHP
PHP搭建大文件切割分块上传功能示例
Jan 04 PHP
PHP实现可精确验证身份证号码的工具类示例
May 31 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
Oct 21 PHP
PHP实现获取文件mime类型多种方法解析
May 28 PHP
PHPstorm启用自动换行的方法详解(IDE)
Sep 17 PHP
WordPress多语言翻译插件 - WPML使用教程
Apr 01 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
ThinkPHP的截取字符串函数无法显示省略号的解决方法
2014/06/25 PHP
php输出金字塔的2种实现方法
2014/12/16 PHP
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
js函数中onmousedown和onclick的区别和联系探讨
2013/05/19 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
2014/03/12 Javascript
JavaScript实现的一个计算数字步数的算法分享
2014/12/06 Javascript
轻松创建nodejs服务器(7):阻塞操作的实现
2014/12/18 NodeJs
JS运动基础框架实例分析
2015/03/03 Javascript
IE浏览器下PNG相关功能
2015/07/05 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
JavaScript实现获得所有兄弟节点的方法
2015/07/23 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
2015/11/09 Javascript
Nodejs Express4.x开发框架随手笔记
2015/11/23 NodeJs
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
js实现仿微博滚动显示信息的效果
2015/12/21 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
用JS实现轮播图效果(二)
2016/06/26 Javascript
bootstrap fileinput 插件使用项目总结(经验)
2017/02/22 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
2018/09/03 Javascript
videocapture库制作python视频高速传输程序
2013/12/23 Python
python对数组进行反转的方法
2015/05/20 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
python3 读写文件换行符的方法
2018/04/09 Python
python 读取DICOM头文件的实例
2018/05/07 Python
Numpy之文件存取的示例代码
2018/08/03 Python
Django中间件基础用法详解
2019/07/18 Python
python 实现绘制整齐的表格
2019/11/18 Python
Python网络爬虫四大选择器用法原理总结
2020/06/01 Python
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
企业新年寄语
2014/04/04 职场文书
弄虚作假心得体会
2014/09/10 职场文书
教师节标语大全
2014/10/07 职场文书
环卫工人慰问信
2015/02/15 职场文书
工地食品安全责任书
2015/05/09 职场文书
七一活动主持词
2015/06/29 职场文书
SQL语句中EXISTS的详细用法大全
2022/06/25 MySQL