FrontEnd 生成GUID方法

2021-10-25 06:20:07 字數 2063 閱讀 8199

全域性唯一標識(guid)是一種由演算法生成的二進位制長度為128位的數字識別符號,guid主要用於擁有多個節點,多台計算機的網路或系統中。在理想情況下任何計算幾何計算機群都不會生成兩個相同的guid,guid的總數為2^128個,理論上是很難會兩個相同。guid 的格式為「******xx-***x-***x-***x-************」,其中每個 x 是 0-9 或 a-f 範圍內的乙個十六進製制數。例如:6f9619ff-8b86-d011-b42d-00c04fc964ff 即為有效的 guid 值。

需要guid的時候,可以完全由演算法自動生成,不需要乙個權威機構來管理。

guid理論上能產生全球唯一的值,對於以後的資料匯入很方便。

生成兩個相同的guid的可能性非常小,但不為0,所以生成guid的短髮通常都加入了非隨機的引數(如 事件)保證這種重複情況絕對不會發生。

// 方法1 cesium的guid也是這樣生成的

function

guid()

);}var id =

guid()

;

// 方法2

function

guid()

return(s4

()+s4

()+"-"+s4

()+"-"+s4

()+"-"+s4

()+"-"+s4

()+s4

()+s4

());

}var guid =

guid

();

// 方法3

function

guid()

guidstr += ***adecimaldate;

guidstr += ***adecimaltime;

while

(guidstr.length <32)

return

this

.formatguid

(guidstr);}

/* * 功能:獲取當前日期的guid格式,即8位數的日期:19700101 * 返回值:返回guid日期格式的字條串 */

guid

.prototype.

getguiddate

=function()

/* * 功能:獲取當前時間的guid格式,即8位數的時間,包括毫秒,毫秒為2位數:12300933 * 返回值:返回guid日期格式的字條串 */

guid

.prototype.

getguidtime

=function()

/* * 功能: 為一位數的正整數前面新增0,如果是可以轉成非nan數字的字串也可以實現 * 引數: 引數表示準備再前面新增0的數字或可以轉換成數字的字串 * 返回值: 如果符合條件,返回新增0後的字條串型別,否則返回自身的字串 */

guid

.prototype.

addzero

=function

(num)

else

}/* * 功能:將y進製的數值,轉換為x進製的數值 * 引數:第1個引數表示欲轉換的數值;第2個引數表示欲轉換的進製;第3個引數可選,表示當前的進製數,如不寫則為10 * 返回值:返回轉換後的字串 */

guid

.prototype.

hexadecimal

=function

(num, x, y)

else

}/* * 功能:格式化32位的字串為guid模式的字串 * 引數:第1個引數表示32位的字串 * 返回值:標準guid格式的字串 */

guid

.prototype.

formatguid

=function

(guidstr)}}

;var guid =

newguid()

; console.

log(guid)

;

什麼是 GUID?以及 GUID 的生成

guid 的格式為 xx x x x 其中每個 x 是 0 9 或 a f 範圍內的乙個十六進製制的數字。例如 6f9619ff 8b86 d011 b42d 00c04fc964ff 即為有效的 guid 值。世界上的任何兩台計算機都不會生成重複的 guid 值。guid 主要用於在擁有多個節點 ...

生成GUID的方法

using namespace std typedef struct guid guid void giveguid strdata1,strdata2,strdata3,strdata4 0 strdata4 1 strdata4 2 strdata4 3 strdata4 4 strdata4 ...

GUID生成方式

uniqueidentifier guid 字段 在ms sql 資料庫中可以在建立表結構是指定字段型別為uniqueidentifier,並且其預設值可以使用newid 來生成唯一的guid 全域性唯一識別符號 使用newid生成的比較隨機,如果是sql 2005可以使用newsequential...