详解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 项目的方法
Jan 02 PHP
php二分法在IP地址查询中的应用
Aug 12 PHP
php下尝试使用GraphicsMagick的缩略图功能
Jan 01 PHP
IIS安装Apache伪静态插件的具体操作图文
Jul 01 PHP
PHP中执行cmd命令的方法
Oct 11 PHP
php删除左端与右端空格的方法
Nov 29 PHP
php字符串函数学习之strstr()
Mar 27 PHP
PHP中创建和验证哈希的简单方法实探
Jul 06 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
Dec 19 PHP
laravel使用Faker数据填充的实现方法
Apr 12 PHP
Laravel如何同时连接多个数据库详解
Aug 13 PHP
Laravel基础_关于view共享数据的示例讲解
Oct 14 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的Yii框架的常用日志操作总结
2015/12/08 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
2019/11/13 PHP
JavaScript 撑出页面文字换行
2009/06/15 Javascript
按下Enter焦点移至下一个控件的实现js代码
2013/12/11 Javascript
用Move.js配合创建CSS3动画的入门指引
2015/07/22 Javascript
JavaScript面试开发常用的知识点总结
2016/08/08 Javascript
Bootstrap源码解读网格系统(3)
2016/12/22 Javascript
ES6入门教程之Iterator与for...of循环详解
2017/05/17 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
Router解决跨模块下的页面跳转示例
2018/01/11 Javascript
微信小程序实现滚动消息通知
2018/02/02 Javascript
vue生成token并保存到本地存储中
2018/07/17 Javascript
vue+axios实现文件下载及vue中使用axios的实例
2018/09/21 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
2019/11/04 Javascript
JS如何寻找数组中心索引过程解析
2020/06/01 Javascript
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
Python使用minidom读写xml的方法
2015/06/03 Python
python语言中with as的用法使用详解
2018/02/23 Python
python 删除列表里所有空格项的方法总结
2018/04/18 Python
Python代码块批量添加Tab缩进的方法
2018/06/25 Python
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
获取CSDN文章内容并转换为markdown文本的python
2020/09/06 Python
阿玛尼美妆英国官网:Giorgio Armani Beauty英国
2019/03/28 全球购物
女大学生个人求职信
2013/12/09 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
党风廉设责任书
2014/04/16 职场文书
班长演讲稿范文
2014/04/24 职场文书
文明市民先进事迹
2014/05/15 职场文书
会计毕业生自荐书
2014/06/12 职场文书
农村文化活动总结
2014/08/28 职场文书
一份教室追逐打闹的检讨书
2014/09/27 职场文书
教师求职自荐信范文
2015/03/04 职场文书
集结号观后感
2015/06/08 职场文书
消防宣传标语大全
2015/08/03 职场文书