Created
March 24, 2017 16:02
-
-
Save alemures/ba4cd1b37a4b11346d7f54f05c826d24 to your computer and use it in GitHub Desktop.
Fast UUID v4 Generator in Javascript
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Fast UUID generator, RFC4122 version 4 compliant. | |
* @author Jeff Ward (jcward.com). | |
* @license MIT license | |
* @link http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136 | |
**/ | |
var UUID = (function() { | |
var self = {}; | |
var lut = []; for (var i=0; i<256; i++) { lut[i] = (i<16?'0':'')+(i).toString(16); } | |
self.generate = function() { | |
var d0 = Math.random()*0xffffffff|0; | |
var d1 = Math.random()*0xffffffff|0; | |
var d2 = Math.random()*0xffffffff|0; | |
var d3 = Math.random()*0xffffffff|0; | |
return lut[d0&0xff]+lut[d0>>8&0xff]+lut[d0>>16&0xff]+lut[d0>>24&0xff]+'-'+ | |
lut[d1&0xff]+lut[d1>>8&0xff]+'-'+lut[d1>>16&0x0f|0x40]+lut[d1>>24&0xff]+'-'+ | |
lut[d2&0x3f|0x80]+lut[d2>>8&0xff]+'-'+lut[d2>>16&0xff]+lut[d2>>24&0xff]+ | |
lut[d3&0xff]+lut[d3>>8&0xff]+lut[d3>>16&0xff]+lut[d3>>24&0xff]; | |
} | |
return self; | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment