设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 2564|回复: 1
收起左侧

asp/php下生成GUID

[复制链接]
发表于 2010-2-24 13:44:04 | 显示全部楼层 |阅读模式
<><STRONG>什么是 GUID?</STRONG></P><>全球唯一标识符 (GUID) 是一个字母数字标识符,用于指示产品的唯一性安装。在许多流行软件应用程序(例如 Web 浏览器和媒体播放器)中,都使用 GUID。</P><>GUID 的格式为&#8220;xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&#8221;,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。</P><><STRONG>为什么要用GUID?</STRONG></P><>世界上的任何两台计算机都不会生成重复的 GUID 值。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。在 Windows 平台上,GUID 应用非常广泛:注册表、类及接口标识、数据库、甚至自动生成的机器名、目录名等。</P><><STRONG>asp下生成guid的代码</STRONG><BR>&lt;%</P><>Dim objTypeLib</P><>Set objTypeLib = CreateObject("Scriptlet.TypeLib")</P><>Response.Write objTypeLib.Guid</P><>%&gt;</P><><STRONG>php下生成guid要用到class .</STRONG><BR>guid.class.guid<BR>&lt;?<BR>class  System<BR>{<BR>                function  currentTimeMillis()<BR>                {<BR>                                list($usec,  $sec)  =  explode("  ",microtime());<BR>                                return  $sec.substr($usec,  2,  3);<BR>                }<BR>}<BR>class  NetAddress<BR>{<BR>                var  $Name  =  'localhost';<BR>                var  $IP  =  '127.0.0.1';<BR>                function  getLocalHost()  //  static<BR>                {<BR>                                $address  =  new  NetAddress();<BR>                                $address-&gt;Name  =  $_ENV["COMPUTERNAME"];<BR>                                $address-&gt;IP  =  $_SERVER["SERVER_ADDR"];<BR>                                return  $address;<BR>                }<BR>                function  toString()<BR>                {<BR>                                return  strtolower($this-&gt;Name.'/'.$this-&gt;IP);<BR>                }<BR>}<BR>class  Random<BR>{<BR>                function  nextLong()<BR>                {<BR>                                $tmp  =  rand(0,1)?'-':'';<BR>                                return  $tmp.rand(1000,  9999).rand(1000,  9999).rand(1000,  9999).rand(100,  999).rand(100,  999);<BR>                }<BR>}<BR>//  三段<BR>//  一段是微秒  一段是地址  一段是随机数<BR>class  Guid<BR>{<BR>                var  $valueBeforeMD5;<BR>                var  $valueAfterMD5;<BR>                function  Guid()<BR>                {<BR>                                $this-&gt;getGuid();<BR>                }<BR>//<BR>                function  getGuid()<BR>                {<BR>                                $address  =  NetAddress::getLocalHost();<BR>                                $this-&gt;valueBeforeMD5  =  $address-&gt;toString().':'.System::currentTimeMillis().':'.Random::nextLong();<BR>                                $this-&gt;valueAfterMD5  =  md5($this-&gt;valueBeforeMD5);<BR>                }<BR>                function  newGuid()<BR>                {<BR>                                $Guid  =  new  Guid();<BR>                                return  $Guid;<BR>                }<BR>                function  toString()<BR>                {<BR>                                $raw  =  strtoupper($this-&gt;valueAfterMD5);<BR>                                return  substr($raw,0,8).'-'.substr($raw,8,4).'-'.substr($raw,12,4).'-'.substr($raw,16,4).'-'.substr($raw,20);<BR>                }<BR>}<BR>?&gt;</P><>guid.php<BR>&lt;?php<BR>require_once("guid.class.php");<BR>$Guid = new Guid();<BR>print $Guid-&gt;toString();<BR>?&gt; </P>
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-11-22 20:47 , Processed in 0.056431 second(s), 11 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表