您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php GUID生成函数和类_PHP教程

2024/3/26 10:03:36发布25次查看
一、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 值。
二、guid的优点
1.guid在空间上和时间上具有唯一性,保证同一时间不同地方产生的数字不同。
2.世界上的任何两台计算机都不会生成重复的 guid 值。
3.需要guid的时候,可以完全由算法自动生成,不需要一个权威机构来管理。
4.guid的长度固定,并且相对而言较短小,非常适合于排序、标识和存储。
三、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;
}
三、guid生成类
php获得guid类:guid_class.php
复制代码 代码如下:
name = $_env[computername];   
        $address->ip = $_server[server_addr];   
        return $address;   
    }   
    function tostring()   
    {   
        return strtolower($this->name.'/'.$this->ip);   
    }   
}   
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);   
    }   
}   
// 三段   
// 一段是微秒 一段是地址 一段是随机数   
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类使用方法:
复制代码 代码如下:
require_once(guid.class.php);   
$guid = new guid();   
print $guid->tostring();
http://www.bkjia.com/phpjc/739779.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/739779.htmltecharticle一、guid简介 guid: 即globally unique identifier(全球唯一标识符) 也称作 uuid(universally unique identifier) 。 guid是一个通过特定算法产生的二进制长...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product