The globally unique identifier (guid,globally unique Identifier) is also known as the UUID (universally unique Identifier).
A GUID is a numeric identifier generated by the algorithm with a binary length of 128 bits. The format of the GUID is "Xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", where X is a 32-bit hexadecimal number in the range of 0-9 or a-f. Ideally, no computer or computer cluster will generate two identical GUIDs.
The total number of GUIDs reaches 2^128 (3.4x10^38), so the probability of randomly generating two identical GUIDs is very small, but not 0. The term GUID also sometimes refers to Microsoft's implementation of the UUID standard.
Algorithm one:
1 functionuuid () {2 vars = [];3 varHexdigits = "0123456789abcdef";4 for(vari = 0; I < 36; i++) {5S[i] = Hexdigits.substr (Math.floor (Math.random () * 0x10), 1);6 }7S[14] = "4";//bits 12-15 of the Time_hi_and_version field to 00108S[19] = Hexdigits.substr ((s[19] & 0x3) | 0x8, 1);//bits 6-7 of the clock_seq_hi_and_reserved to9S[8] = s[13] = s[18] = s[23] = "-";Ten One varUUID = S.join (""); A returnuuid; -}
Algorithm two:
1 function guid () {2 return function (c) {3 var r = math.random () *16|0, v = c = = ' X ' r: (r&0x3|0x8); 4 return v.tostring (+); 5 }); 6 }
Algorithm three:
1 function guid () {2 function S4 () {3 return (((1+math.random ()) *0x10000) (((()). ToString (+). SUBSTRING (1); 4 }5 return (S4 () +s4 () + "-" +s4 () + "-" +s4 () + "-" +s4 () + "-" +S4 () +s4 () + S4 ()); 6 }
Algorithm four:
1 functionuuid (len, radix) {2 //the first parameter length, the second parameter is a binary3 varchars = ' 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz '. Split (');4 varUUID =[], I;5Radix = Radix | |chars.length;6 7 if(len) {8 //Compact Form9 for(i = 0; i < len; i++) uuid[i] = Chars[0 | Math.random () *Radix];Ten}Else { One //rfc4122, version 4 form A varR; - - //rfc4122 requires these characters theUUID[8] = uuid[13] = uuid[18] = uuid[23] = '-'; -UUID[14] = ' 4 '; - - //Fill in random data. At i==19 set the high bits of clock sequence as + //per rfc4122, sec. 4.1.5 - for(i = 0; i < i++;) { + if(!Uuid[i]) { AR = 0 | Math.random () *16; atUuid[i] = chars[(i = = 19)? (R & 0x3) | 0x8: R]; - } - } - } - - returnUuid.join (' '); in } - to //Use + //8 character ID (base=2) -UUID (8, 2)//"01001010" the //8 character ID (base=10) *UUID (8, 10)//"47473046" $ //8 character ID (base=16)Panax NotoginsengUUID (8, 16)//"098f4d35"
Recommended use of the fourth
JavaScript generates UUID