详解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 相关文章推荐
用函数读出数据表内容放入二维数组
Oct 09 PHP
PHP与MySQL开发中页面乱码的产生与解决
Mar 27 PHP
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
Jan 11 PHP
php读取3389的脚本
May 06 PHP
php Imagick获取图片RGB颜色值
Jul 28 PHP
PHP+jQuery 注册模块的改进(三):更新到Smarty3.1
Oct 14 PHP
Codeigniter中集成smarty和adodb的方法
Mar 04 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 PHP
php代码检查代理ip的有效性
Aug 19 PHP
简单谈谈PHP中的Reload操作
Dec 12 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
Feb 05 PHP
PHP排序二叉树基本功能实现方法示例
May 26 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/16 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
javascript游戏开发之《三国志曹操传》零部件开发(二)人物行走的实现
2013/01/23 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
一个Action如何调用两个不同的方法
2014/05/22 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
BootStrap的table表头固定tbody滚动的实例代码
2016/08/24 Javascript
form+iframe解决跨域上传文件的方法
2016/11/18 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
浅谈vue加载优化策略
2019/03/19 Javascript
python爬取淘宝商品详情页数据
2018/02/23 Python
python实现excel读写数据
2021/03/02 Python
Django分页功能的实现代码详解
2019/07/29 Python
在python3中使用shuffle函数要注意的地方
2020/02/28 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
荷兰本土平价百货:HEMA
2017/10/23 全球购物
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
销售文员的岗位职责
2013/11/20 职场文书
暑期实习鉴定
2013/12/16 职场文书
写自荐信要注意什么
2013/12/26 职场文书
ktv中秋节活动方案
2014/01/30 职场文书
八年级语文教学反思
2014/02/11 职场文书
开学典礼感言
2014/02/16 职场文书
财产公证书样本
2014/04/04 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
2014年预备党员端正入党动机思想汇报
2014/09/13 职场文书
2014年十一国庆节爱国演讲稿
2014/09/23 职场文书
小学生作文批改评语
2014/12/25 职场文书
父亲婚礼答谢词
2015/01/04 职场文书
学校世界艾滋病日宣传活动总结
2015/05/05 职场文书
电力工程合作意向书
2015/05/11 职场文书
oracle通过存储过程上传list保存功能
2021/05/12 Oracle
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫
详解Go语言中配置文件使用与日志配置
2022/06/01 Golang