详解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服务器实现多session并发运行
Oct 09 PHP
phpmyadmin导入(import)文件限制的解决办法
Dec 11 PHP
php性能优化分析工具XDebug 大型网站调试工具
May 22 PHP
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
Aug 23 PHP
PHP无法访问远程mysql的问题分析及解决
May 16 PHP
php中使用base HTTP验证的方法
Apr 20 PHP
php实现比较两个字符串日期大小的方法
May 12 PHP
PHP自毁程序(慎用)
Jul 09 PHP
php实现将HTML页面转换成word并且保存的方法
Oct 14 PHP
php 微信公众平台开发模式实现多客服的实例代码
Nov 07 PHP
php PDO异常处理详解
Nov 20 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 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 UTF8编码内的繁简转换类
2009/07/20 PHP
PHP的5个安全措施小结
2012/07/17 PHP
php类中private属性继承问题分析
2012/11/01 PHP
PHP中使用Imagick实现各种图片效果实例
2015/01/21 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
JavaScript实现的购物车效果可以运用在好多地方
2014/05/09 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
Angularjs中controller的三种写法分享
2016/09/21 Javascript
js实现点击按钮弹出上传文件的窗口
2016/12/23 Javascript
理解javascript中的闭包
2017/01/11 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
详解Vuex管理登录状态
2017/11/13 Javascript
彻底理解js面向对象之继承
2018/02/04 Javascript
Node.js Buffer用法解读
2018/05/18 Javascript
element-ui 设置菜单栏展开的方法
2018/08/22 Javascript
使用electron制作满屏心特效的示例代码
2018/11/27 Javascript
微信小程序mpvue点击按钮获取button值的方法
2019/05/29 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
vue-cli3使用mock数据的方法分析
2020/03/16 Javascript
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
在NumPy中创建空数组/矩阵的方法
2018/06/15 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
Keras:Unet网络实现多类语义分割方式
2020/06/11 Python
深入理解HTML5定时器requestAnimationFrame的使用
2018/12/12 HTML / CSS
海蓝之谜(LA MER)澳大利亚官方商城:全球高端奢华护肤品牌
2017/10/27 全球购物
日本索尼音乐商店:Sony Music Shop
2018/07/17 全球购物
学校司机岗位职责
2013/11/14 职场文书
会计助理的岗位职责
2013/11/29 职场文书
十佳标兵事迹材料
2014/08/18 职场文书
医药销售自我评价200字
2014/09/11 职场文书
zabbix自定义监控nginx状态实现过程
2021/11/01 Servers
MySQL 执行数据库更新update操作的时候数据库卡死了
2022/05/02 MySQL
基于redis+lua进行限流的方法
2022/07/23 Redis