php中生成标准uuid(guid)的方法
<?php
UUID是指在一臺機器上生成的數(shù)字,它保證對在同一時空中的所有機器都是唯一的。通常平臺 會提供生成UUID的API。UUID按照開放軟件基金會(OSF)制定的標準計算,用到了以太網卡地址、納秒級時間、芯片ID碼和許多可能的數(shù)字。由以 下幾部分的組合:當前日期和時間(UUID的第一個部分與時間有關,如果你在生成一個UUID之后,過幾秒又生成一個UUID,則第一個部分不同,其余相 同),時鐘序列,全局唯一的IEEE機器識別號(如果有網卡,從網卡獲得,沒有網卡以其他方式獲得),UUID的唯一缺陷在于生成的結果串會比較長。關于 UUID這個標準使用最普遍的是微軟的GUID(Globals Unique Identifiers)。
在ColdFusion中可以用CreateUUID()函數(shù)很簡單的生成UUID,其格式為:xxxxxxxx-xxxx-xxxx- xxxxxxxxxxxxxxxx(8-4-4-16),其中每個 x 是 0-9 或 a-f 范圍內的一個十六進制的數(shù)字。而標準的UUID格式為:xxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxx (8-4-4-4-12)
function?guid(){
????if (function_exists('com_create_guid')){
????????return?com_create_guid();
????}else{
????????mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
????????$charid?=?strtoupper(md5(uniqid(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;
????}
}
echo?guid();
?>
轉載于:https://www.cnblogs.com/huidaoli/p/3964508.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的php中生成标准uuid(guid)的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NGUI-Tweens
- 下一篇: 改进的简单Tooltips显示