详解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自动适应范围的分页代码
Aug 05 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
Dec 14 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
Feb 04 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
Aug 01 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
May 10 PHP
php连接与操作PostgreSQL数据库的方法
Dec 25 PHP
php常量详细解析
Oct 27 PHP
Laravel中如何增加自定义全局函数详解
May 09 PHP
PHP简单装饰器模式实现与用法示例
Jun 22 PHP
php 广告点击统计代码(php+mysql)
Feb 21 PHP
PHP观察者模式示例【Laravel框架中有用到】
Jun 15 PHP
Yii框架Session与Cookie使用方法示例
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实现自动发送邮件功能代码(qq 邮箱)
2017/08/18 PHP
php中的钩子理解及应用实例分析
2019/08/30 PHP
php面试实现反射注入的详细方法
2019/09/30 PHP
jQuery数据显示插件整合实现代码
2011/10/24 Javascript
精心挑选的15个jQuery下拉菜单制作教程
2012/06/15 Javascript
jQuery.each()用法分享
2012/07/31 Javascript
js常用数组操作方法简明总结
2014/06/20 Javascript
jquery库文件略庞大用纯js替换jquery的方法
2014/08/12 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
webpack+vue.js实现组件化详解
2016/10/12 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
Vue中render函数的使用方法
2018/01/31 Javascript
解决node修改后需频繁手动重启的问题
2018/05/13 Javascript
[04:10]2018年度CS GO玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
python3实现SMTP发送邮件详细教程
2018/06/19 Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
2019/08/19 Python
Python使用Slider组件实现调整曲线参数功能示例
2019/09/06 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
Python实现在Windows平台修改文件属性
2020/03/05 Python
python实现QQ邮箱发送邮件
2020/03/06 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
2021/03/03 Python
致短跑运动员广播稿
2014/01/09 职场文书
教师绩效工资方案
2014/02/01 职场文书
计算机科学系职业生涯规划书
2014/03/08 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
诉讼授权委托书范本
2014/10/05 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
2015年党员承诺书
2015/01/21 职场文书
博士生专家推荐信
2015/03/25 职场文书
2019秋季运动会口号
2019/06/25 职场文书