<?php
UUID是指在一臺機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的。通常平臺 會提供生成UUID的API。UUID按照開放軟體基金會(OSF)制定的標準計算,用到了乙太網卡地址、納秒級時間、晶片ID碼和許多可能的數字。由以 下幾部分的組合:當前日期和時間(UUID的第一個部分與時間有關,如果你在生成一個UUID之後,過幾秒又生成一個UUID,則第一個部分不同,其餘相 同),時鐘序列,全域性唯一的IEEE機器識別號(如果有網路卡,從網路卡獲得,沒有網路卡以其他方式獲得),UUID的唯一缺陷在於生成的結果串會比較長。關於 UUID這個標準使用最普遍的是微軟的GUID(Globals Unique Identifiers)。
在ColdFusion中可以用CreateUUID()函式很簡單的生成UUID,其格式為:xxxxxxxx-xxxx-xxxx- xxxxxxxxxxxxxxxx(8-4-4-16),其中每個 x 是 0-9 或 a-f 範圍內的一個十六進位制的數字。而標準的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();
?>
php中生成標準uuid(guid)的方法
相關文章
- UUID和GUID的區別GUI
- 填報表如何生成 UUID 標識UI
- oracle生成uuidOracleUI
- uuid自動生成UI
- Modern PHP(二)標準PHP
- PHP 標準庫 SplStack 棧PHP
- Java UUID生成的效能影響 – fastthreadJavaUIASTthread
- php剔除html標籤的方法PHPHTML
- mybatis新增物件自動生成uuid方案MyBatis物件UI
- [譯] Kotlin 標準方法備忘Kotlin
- 使用.Net Core RT 生成標準動態庫
- C# 利用 System.Guid.NewGuid() 生成卡密CDKC#GUI
- fabric-ca載入openssl生成的ecdsa標準證書
- Guuid: 由 Go 語言開發的 UUID 生成服務UIGo
- Linux的標準輸入、標準輸出和標準錯誤Linux
- react中useCallback是否使用的衡量標準React
- Python標準庫中隱藏的利器Python
- js如何生成唯一識別符號UUIDJS符號UI
- 可笑,你竟然不知道 Java 如何生成 UUIDJavaUI
- Java 實現的SnowFlake生成UUID (Java程式碼實戰-007)JavaUI
- Linux中uuid是什麼?UUID由幾部分組成?LinuxUI
- STM32標準庫通用定時器PWM生成定時器
- AI應用之根據行業標準生成PRD文件AI行業
- Go標準庫所有方法使用例子Go
- ORA-65122: Pluggable database GUID conflicts with the GUID of an existingDatabaseGUI
- [20200103]GUID轉換GUID_BASE64.txtGUI
- 不升級 POI 版本,如何生成符合新版標準的Excel 2007檔案Excel
- Linux 中獲取硬碟分割槽或檔案系統的 UUID 的七種方法Linux硬碟UI
- oracle,使用SYS_GUID()生成32位唯一字串OracleGUI字串
- MySQL的UUIDMySqlUI
- python - 根據均值和標準差生成隨機整數Python隨機
- php中呼叫類的私有方法PHP
- 標準圓形餅圖Python繪製方法Python
- Oracle中Nextval用法SEQUENCE與SYS_GUID()OracleGUI
- GUID轉換GUI
- Profile設定高標準密碼複雜度的方法密碼複雜度
- Rust 標準庫中的 async/await (async-std)RustAI
- ECMA標準ECMAScript(JavaScript的一個標準)和C#JavaScriptC#
- 如何在Java服務中實現分散式ID生成:雪花演算法與UUID的對比Java分散式演算法UI