国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php GUID生成函數(shù)和類

2020-03-22 18:21:52
字體:
供稿:網(wǎng)友
一、GUID簡介
GUID: 即Globally Unique Identifier(全球唯一標識符) 也稱作 UUID(Universally Unique IDentifier) 。 GUID是一個通過特定算法產(chǎn)生的二進制長度為128位的數(shù)字標識符,用于指示產(chǎn)品的唯一性。GUID 主要用于在擁有多個節(jié)點、多臺計算機網(wǎng)絡(luò)或系統(tǒng)中,分配必須具有唯一性的標識符。
在 Windows 平臺上,GUID 廣泛應(yīng)用于微軟的產(chǎn)品中,用于標識如如注冊表項、類及接口標識、數(shù)據(jù)庫、系統(tǒng)目錄等對象。
GUID 的格式為“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每個 x 是 0-9 或 a-f 范圍內(nèi)的一個32位十六進制數(shù)。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即為有效的 GUID 值。
二、GUID的優(yōu)點
1.GUID在空間上和時間上具有唯一性,保證同一時間不同地方產(chǎn)生的數(shù)字不同。
2.世界上的任何兩臺計算機都不會生成重復(fù)的 GUID 值。
3.需要GUID的時候,可以完全由算法自動生成,不需要一個權(quán)威機構(gòu)來管理。
4.GUID的長度固定,并且相對而言較短小,非常適合于排序、標識和存儲。
三、GUID生成函數(shù)
復(fù)制代碼 代碼如下:
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;
}

三、GUID生成類
PHP獲得GUID類:guid_html' target='_blank'>class.php
復(fù)制代碼 代碼如下:
?php
class System
{
function currentTimeMillis()
{
list($usec, $sec) = explode(" ",microtime());
return $sec.substr($usec, 2, 3);
}
}
class NetAddress
{
var $Name = 'localhost';
var $IP = '127.0.0.1';
function getLocalHost() // static
{
$address = new NetAddress();
$address- Name = $_ENV["COMPUTERNAME"];
$address- IP = $_SERVER["SERVER_ADDR"];
return $address;
}
function toString()
{
return strtolower($this- Name.'/'.$this-
}
}
class Random
{
function nextLong()
{
$tmp = rand(0,1)?'-':'';
return $tmp.rand(1000, 9999).rand(1000, 9999).rand(1000, 9999).rand(100, 999).rand(100, 999);
}
}
// 三段
// 一段是微秒 一段是地址 一段是隨機數(shù)
class Guid
{
var $valueBeforeMD5;
var $valueAfterMD5;
function Guid()
{
$this- getGuid();
}
//
function getGuid()
{
$address = NetAddress::getLocalHost();
$this- valueBeforeMD5 = $address- toString().':'.System::currentTimeMillis().':'.Random::nextLong();
$this- valueAfterMD5 = md5($this- valueBeforeMD5);
}
function newGuid()
{
$Guid = new Guid();
return $Guid;
}
function toString()
{
$raw = strtoupper($this- valueAfterMD5);
return substr($raw,0,8).'-'.substr($raw,8,4).'-'.substr($raw,12,4).'-'.substr($raw,16,4).'-'.substr($raw,20);
}
}
GUID類使用方法:
復(fù)制代碼 代碼如下:
require_once("guid.class.php");
$Guid = new Guid();
print $Guid- toString();PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 沅江市| 安仁县| 沭阳县| 上蔡县| 道孚县| 祁东县| 庆安县| 庆城县| 永胜县| 姚安县| 淳安县| 宿松县| 横峰县| 万年县| 新营市| 正宁县| 墨脱县| 昌邑市| 连城县| 建水县| 岑巩县| 云和县| 五峰| 湘潭市| 辽宁省| 双流县| 齐齐哈尔市| 安国市| 桐城市| 苍南县| 巴中市| 兴化市| 寿阳县| 新闻| 清徐县| 石景山区| 商水县| 晋州市| 海晏县| 哈尔滨市| 威海市|