<?php
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)

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();
?>

转载于:https://www.cnblogs.com/huidaoli/p/3964508.html

php中生成标准uuid(guid)的方法相关推荐

  1. java 8位随机数_JAVA中生成指定位数随机数的方法总结

    JAVA中生成指定位数随机数的方法很多,下面列举几种比较常用的方法. 方法一.通过Math类 1 public static String getRandom1(intlen) {2 int rs = ...

  2. 用python生成九九乘法表的指令_Python中生成九九乘法表的方法有哪几种?

    九九乘法表是我们计算的基础,在Python中可以生成九九乘法表.大致有三种方法:列表推导式法.for循环法.while嵌套循环法.具体使用代码请看本文. 方法一.列表推导式法for i in rang ...

  3. iOS 中生成随机数的4种方法(rand、random、arc4random、arc4random_uniform)

    iOS 有如下四种随机数方法,下面以产生 [0,100) 的随机数为例: 1. srand((unsigned)time(0));  //不加这句每次产生的随机数不变 int i = rand() % ...

  4. 数据去重方法python_Python统计文件中去重后uuid个数的方法

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  5. .NET中生成动态验证码

    NET中生成动态验证码 验证码是图片上写上几个字,然后对这几个字做特殊处理,如扭曲.旋转.修改文字位置,然后加入一些线条,或加入一些特殊效果,使这些在人类能正常识别的同时,机器却很难识别出来,以达到防 ...

  6. excel批量更改超链接_excel超链接应用:快速生成目录的几个方法-上

    编按:哈喽,大家好!在平时工作中,为了能快速打开需要的工作表,我们通常会设置一个目录.目录的设置方法有很多种,但大多数人使用的方法还是基本的手动插入超链接的操作.虽然这个方法也行,但是将大大降低你的工 ...

  7. excel:超链接应用,快速生成目录的几个方法

    ****部落窝教育-excel目录制作技巧**** 原创:壹仟伍佰万/部落窝教育(未经同意,请勿转载) 更多教程:部落窝教育(http://www.itblw.com) 微信公众号:exceljiao ...

  8. excel超链接应用:快速生成目录的几个方法-上

    在平时工作中,为了能快速打开需要的工作表,我们通常会设置一个目录.目录的设置方法有很多种,但大多数人使用的方法还是基本的手动插入超链接的操作.虽然这个方法也行,但是将大大降低你的工作效率,那么今天,我 ...

  9. CVPR2023 I 一种全新的单个宽基线立体图像对中学习渲染新视角的方法

    推荐大家关注3DCV,一个关注3D技术,更关注3D产业的公众号.点击下方卡片,关注3DCV公众号: 本文作者:3DCV@小张Tt | 来源:3DCV 论文题目:Learning to Render N ...

最新文章

  1. jenkins-svn配置
  2. linux系统打包工具,Linux 压缩、解压缩和打包工具
  3. nodejs模块加载分析(1).md
  4. (转)C# Delegate.Invoke、Delegate.BeginInvoke
  5. [Step By Step]SAP Visual Intelligence数据操作、地图信息显示(SAP HANA中提取数据)
  6. 手算KMP匹配的Next值和Nextval值(转载)
  7. Django创建项目后,项目文件夹下的组成部分
  8. android webview onconsolemessage,Android WebView一些特殊的使用
  9. Java FileInputStream finalize()方法与示例
  10. 【连载】Django入门到实战(一)
  11. javascript sort排序
  12. 如何用方正飞腾做出“凹”形文本框
  13. jStat:轻量级Javascript统计库
  14. java第一个helloworld_Java第一个程序--HelloWorld
  15. 项目管理文档目录结构
  16. arduino烧录_用Arduino UNO烧录Attiny85芯片
  17. 6个有效激励合作伙伴和促进推荐的小技巧
  18. 如何实现在直播中播放音频文件
  19. “茶界茅台”竹叶青的数字化营销玩法 | 案例
  20. Mac安装brew,国内推荐使用

热门文章

  1. 【Qt】Qt数据库驱动层
  2. kotlin sealed 中_Kotlin sealed class
  3. json schema如何约束为小数_如何使用jsonschema进行接口响应断言
  4. Linux下串口编程基础
  5. 51nod 1270 数组的最大代价 思路:简单动态规划
  6. wchar_t*和string相互转换
  7. ARM中LDR伪指令与LDR加载指令
  8. [转] ROS-I simple_message 源码分析:MessageManager
  9. IDEA配置git环境
  10. [攻防世界 pwn]——string(内涵peak小知识)