详解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实现利用phpexcel导出数据
Aug 24 PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
Dec 25 PHP
thinkphp学习笔记之多表查询
Jul 28 PHP
YII中assets的使用示例
Jul 31 PHP
ajax+php控制所有后台函数调用
Jul 15 PHP
盘点PHP和ASP.NET的10大对比!
Dec 24 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
Mar 21 PHP
什么是OneThink oneThink后台添加插件步骤
Apr 13 PHP
php遍历替换目录下文件指定内容的方法
Nov 10 PHP
PHP框架自动加载类文件原理详解
Jun 06 PHP
使用laravel指定日志文件记录任意日志
Oct 17 PHP
PHP实现递归的三种方法
Jul 04 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+AJAX聊天程序[聊天室]提供下载
2007/07/21 PHP
PHP中使用json数据格式定义字面量对象的方法
2014/08/20 PHP
php中使用base HTTP验证的方法
2015/04/20 PHP
php数组合并与拆分实例分析
2015/06/12 PHP
让AJAX不依赖后端接口实现方案
2012/12/03 Javascript
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
chrome下jq width()方法取值为0的解决方法
2014/05/26 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
2014/06/02 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
微信小程序实现自定义底部导航
2020/11/18 Javascript
一起来了解一下JavaScript的预编译(小结)
2021/03/01 Javascript
python通过正则查找微博@(at)用户的方法
2015/03/13 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
Python实现Linux监控的方法
2019/05/16 Python
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
Jeep牧马人、切诺基和自由人零配件:4 Wheel Drive Hardware
2017/07/02 全球购物
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
高中的自我鉴定
2013/12/16 职场文书
集体婚礼证婚词
2014/01/13 职场文书
汽车广告策划方案
2014/05/31 职场文书
学校四风对照检查材料
2014/08/28 职场文书
2014大学生职业生涯规划书最新范文
2014/09/13 职场文书
2014年国庆节演讲稿精选范文1500字
2014/09/25 职场文书
2014年作风建设剖析材料
2014/10/23 职场文书
毕业生班级鉴定评语
2015/01/04 职场文书
2015年公务员试用期工作总结
2015/05/28 职场文书
《赵州桥》教学反思
2016/02/17 职场文书
如何书写先进事迹材料?
2019/07/02 职场文书
Python进度条的使用
2021/05/17 Python
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python
纯CSS如何禁止用户复制网页的内容
2021/11/01 HTML / CSS
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis