php 生成GUID

来源:互联网 发布:360彩票11选5遗漏数据 编辑:程序博客网 时间:2024/05/17 23:44
一、GUID简介
GUID: 即Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) 。 GUID是一个通过特定算法产生的二进制长度为128位的数字标识符,用于指示产品的唯一性。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。
在 Windows 平台上,GUID 广泛应用于微软的产品中,用于标识如如注册表项、类及接口标识、数据库、系统目录等对象。

GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个32位十六进制数。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。


一个十六进制数可以转为4个2进制数,所以,32*4=128。这里的128位不是传输数据时的128bit。

另外。

中二进制字符串就是用二进制码来表示字符以及由多个字符构成的字符串。通常采用美国标准信息交换码ASCII来表示字符。标准ASCII采用7位二进制码,可以表示2^7=128个字符。例如110是三个字符构成的字符串,就用31H 31H 30H来表示,330的话就用33H 33H 30H来表示,同理,120的ASCII是31H 32H 30H,360的ASCII是33H 36H 30H。


二、GUID的优点
1.GUID在空间上和时间上具有唯一性,保证同一时间不同地方产生的数字不同。 
2.世界上的任何两台计算机都不会生成重复的 GUID 值。
3.需要GUID的时候,可以完全由算法自动生成,不需要一个权威机构来管理。 

4.GUID的长度固定,并且相对而言较短小,非常适合于排序、标识和存储。


function create_guid() {    $charid = strtoupper(md5(uniqid(mt_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;}


0 0
原创粉丝点击