文档章节

PHP生成GUID

笨小熊
 笨小熊
发布于 2016/11/19 13:00
字数 374
阅读 14
收藏 2

一、GUID简介
在 Windows 平台上,GUID 广泛应用于微软的产品中,用于标识如如注册表项、类及接口标识、数据库、系统目录等对象。
GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个32位十六进制数。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。


二、GUID的优点
1.GUID在空间上和时间上具有唯一性,保证同一时间不同地方产生的数字不同。 
2.世界上的任何两台计算机都不会生成重复的 GUID 值。
3.需要GUID的时候,可以完全由算法自动生成,不需要一个权威机构来管理。 
4.GUID的长度固定,并且相对而言较短小,非常适合于排序、标识和存储。

<?php
function guid(){ 

   if(function_exists('com_create_guid')){
       return com_create_guid();//window下
   }else{//非windows下
       mt_srand((double)microtime()*10000);//optional for php 4.2.0 andup.
       $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();
?>

© 著作权归作者所有

共有 人打赏支持
上一篇: MySQL分片
笨小熊
粉丝 13
博文 151
码字总数 64568
作品 0
深圳
高级程序员
私信 提问
PHP生成GUID的函数

GUID: 即Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) 。 GUID是一个通过特定算法产生的二进制长度为128位的数字标识符,用于指示产品的唯一...

蜗牛奔跑
2016/01/14
27
0
可排序的 COMB 类型 GUID

首先这里不做GUID与整形作为主键的优劣之争,GUID自有它优势,但GUID本身是乱序的,会对索引的维护带来性能上的损耗,数据量越大越明显。 COMB 类型 GUID 是由Jimmy Nilsson在他的“The Cos...

Yamazaki
2015/09/16
245
0
C# GUID的使用

 GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成GUID的API。生成算法很有意思,用到了以太网卡地址、纳秒级时间、芯片...

冰点沐雪
2013/01/30
0
0
php用phpmailer发送邮件

发送邮件 1.为了保证安全性,需要生成发送到邮件的URL,主要参数(key(key 需要在每次运行是自动生成随机码)) 然后将URL发送到邮箱。 2.解析url:首先根据用户名从数据库中查找出密钥key...

jerry__sun
2015/06/18
0
0
理解newid()和newsequentialid()

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> 1.:newsequentialid 函数比起 newid 函数最大的好处是:如果你在一个 UNIQUEIDENTIFIER 字段上建立索引......

技术小美
2017/11/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

redis高级进阶(2)

本篇主要介绍如下内容 1.redis服务器数据库 2.redis对过期键的处理 3.redis持久化策略 1.redis服务器数据库 redis服务器如果不指定数据库的具体数据,默认是16个数据库。 客户端连接到redis...

求是科技
14分钟前
0
0
js时间Date对象介绍及解决getTime转换为8点的问题

前言   在做时间转换的时候,发现用“2016-04-12”转出来的时间戳是 2016-04-12 08:00的时间点,而不是0点。 new Date('2016-04-12').getTime();// 1460419200000 new Date(1460419...

Jack088
22分钟前
1
0
Dubbo 实践,演进及未来规划

Dubbo 整体介绍 Dubbo 是一款高性能,轻量级的 Java RPC 框架。虽然它是以 Java 语言来出名的,但是现在我们生态里面已经有 Go、Python、PHP、Node.JS 等等语言。 Dubbo 是一个 RPC 框架,它...

微笑向暖wx
23分钟前
1
0
用Python建立最简单的web服务器

前提:已装好python,mac默认已有 参考:https://www.cnblogs.com/xuxn/archive/2011/02/14/build-simple-web-server-with-python.html 利用Python自带的包可以建立简单的web服务器。在DOS里...

Liens
25分钟前
1
0
MaxCompute安全管理指南-基础篇

背景及目的 方便和辅助MaxCompute的project owner或安全管理员进行project的日常安全运维,保障数据安全。 MaxCompute有安全模型,DataWorks也有安全模型,当通过DataWorks使用MaxCompute,而...

阿里云官方博客
34分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部