Php GUID生成函数和类

一. GUID简介

GUID:

全球范围内。

独一无二的

标识符(全球唯一标识符)

也被称为

UUID(全球

独一无二的

标识符)

GUID是由特定算法生成的二进制长度为128位的数字标识符,用于表示产品的唯一性。全局唯一标识符

它主要用于在具有多个节点和计算机的网络或系统中分配唯一的标识符。

存在

Windows操作系统

在平台上,GUID

它在Microsoft产品中广泛用于标识注册表项、类和接口标识符、数据库、系统目录等对象。

全局唯一标识符

的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,每种格式

x

0-9

或者

a-f

范围内的32位十六进制数。例如:6f 9619 ff-8b 86-d 011-b42d-00 c 04 fc 964 ff。

是有效的。

全局唯一标识符

价值。

二,GUID的优势

1.GUID在空间和时间上是唯一的,这就保证了同一时间不同地方生成的数字是不一样的。

2.世界上没有两台计算机会产生复制品。

全局唯一标识符

价值。

3.当需要GUID时,它可以由算法自动生成,不需要任何权限来管理它。

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

三。GUID生成函数

复制代码

代码如下:

功能

create_guid()

{

$charid

=

strtoupper(md5(uniqid(mt_rand(),

真)));

$连字符

=

人权委员会(45);//

"-"

$uuid

=

chr(123)//

"{"

。substr($charid,

0,

8).$连字符

。substr($charid,

8,

4).$连字符

。substr($charid,12,

4).$连字符

。substr($charid,16,

4).$连字符

。substr($charid,20,12)

。chr(125);//

"}"

返回

$ uuid

}

三。GUID生成类

PHP获取GUID类:guid_class.php

复制代码

代码如下:

& lt?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

班级

系统

{

功能

currentTimeMillis()

{

列表($usec,

美元秒)

=

爆炸(”

“,microtime());

返回

$sec.substr($usec,

2,

3);

}

}

班级

网络地址

{

定义变量

$Name

=

localhost ';

定义变量

$IP

=

'127.0.0.1';

功能

getLocalHost()

//

静电

{

$地址

=

新的

net address();

$ address-& gt;名字

=

$_ENV["计算机名"];

$ address-& gt;互联网协议(Internet Protocol)

=

$_SERVER["服务器_ ADDR "];

返回

$地址;

}

功能

toString()

{

返回

strtolow($ this-& gt;姓名。'/'.$ this-& gt;IP);

}

}

班级

随意

{

功能

nextLong()

{

$tmp

=

兰特(0,1)?'-':'';

返回

$tmp.rand(1000,

9999).兰特(1000,

9999).兰特(1000,

9999).兰特(100,

999).兰特(100,

999);

}

}

//

三节

//

一段是微秒。

一个是地址。

一段是一个随机数

班级

全局唯一标识符

{

定义变量

$ valueBeforeMD5

定义变量

$ valueAfterMD5

功能

Guid()

{

$ this-& gt;get guid();

}

//

功能

getGuid()

{

$地址

=

net address::get localhost();

$ this-& gt;MD5之前的值

=

$ address-& gt;toString()。':'.System::currentTimeMillis()。':'.random::nextLong();

$ this-& gt;valueAfterMD5

=

MD5($ this-& gt;value before MD5);

}

功能

newGuid()

{

$Guid

=

新的

guid();

返回

$ Guid

}

功能

toString()

{

原始美元

=

strtoupper($ this-& gt;valueAfterMD5);

返回

substr($raw,0,8)。'-'.substr($raw,8,4)。'-'.substr($raw,12,4)。'-'.substr($raw,16,4)。'-'.substr($raw,20);

}

}

GUID类使用方法:

复制代码

代码如下:

require _ once(" guid . class . PHP ");

$Guid

=

新的

guid();

打印

$ Guid-& gt;toString();