uuid原理及使用例子

項目中經常使用UUID做爲惟一標識碼git

 UUID是128位整數(16字節)的全局惟一標識符github

 

由如下幾部分的組合:npm

當前日期和時間(UUID的第一個部分與時間有關,若是你在生成一個UUID以後,過幾秒又生成一個UUID,則第一個部分不一樣,其他相同),ui

時鐘序列,spa

全局惟一的IEEE機器識別號(若是有網卡,從網卡得到,沒有網卡以其餘方式得到),code

UUID的惟一缺陷在於生成的結果串會比較長。blog

 

UUID是一個由4個連字號(-)將32個字節長的字符串分隔後生成的字符串,總共36個字節長。好比:550e8400-e29b-41d4-a716-446655440000字符串

 

格式爲:xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),其中每一個 x 是 0-9 或 a-f 範圍內的一個十六進制的數字。而標準的UUID格式爲:xxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxx (8-4-4-4-12)get

 

一、具體uuid的API地址:https://github.com/pnegri/uuid-jsstring

小例子代碼以下:

npm install uuid

var
uuid=require('uuid'); var id = uuid.v1().replace(/-/g, ""); console.log(id);

二、uuid-js的API以下:

UUID.create(4); // Generate V4 UUID

UUID.create(1); // Generate V1 TimeUUID

UUID.fromTime(time, last); // Generate a V1 empty TimeUUID from a Date object (Ex: new Date().getTime() )

UUID.firstFromTime(time); // Same as fromTime but first sequence

UUID.lastFromTime(time); // Same as fromTime but last sequence

UUID.fromURN(strId); // Generate a UUID object from string

UUID.fromBytes(ints); // Generate a UUID object from bytes

UUID.fromBinary(binary); // Generate a UUID object from binary

 

本例子參照uuidjsAPI以及參考網上資料,若有不足之處,請原諒。

相關文章
相關標籤/搜索