js中创建UUID
来源:互联网 发布:守望先锋数据面板 编辑:程序博客网 时间:2024/06/05 10:12
</pre><pre>
function UUID(){ this.id = this.createUUID();} // When asked what this Object is, lie and return it's valueUUID.prototype.valueOf = function(){ return this.id; };UUID.prototype.toString = function(){ return this.id; }; //// INSTANCE SPECIFIC METHODS//UUID.prototype.createUUID = function(){ // // Loose interpretation of the specification DCE 1.1: Remote Procedure Call // since JavaScript doesn't allow access to internal systems, the last 48 bits // of the node section is made up using a series of random numbers (6 octets long). // var dg = new Date(1582, 10, 15, 0, 0, 0, 0); var dc = new Date(); var t = dc.getTime() - dg.getTime(); var tl = UUID.getIntegerBits(t,0,31); var tm = UUID.getIntegerBits(t,32,47); var thv = UUID.getIntegerBits(t,48,59) + '1'; // version 1, security version is 2 var csar = UUID.getIntegerBits(UUID.rand(4095),0,7); var csl = UUID.getIntegerBits(UUID.rand(4095),0,7); // since detection of anything about the machine/browser is far to buggy, // include some more random numbers here // if NIC or an IP can be obtained reliably, that should be put in // here instead. var n = UUID.getIntegerBits(UUID.rand(8191),0,7) + UUID.getIntegerBits(UUID.rand(8191),8,15) + UUID.getIntegerBits(UUID.rand(8191),0,7) + UUID.getIntegerBits(UUID.rand(8191),8,15) + UUID.getIntegerBits(UUID.rand(8191),0,15); // this last number is two octets long return tl + tm + thv + csar + csl + n; }; //Pull out only certain bits from a very large integer, used to get the time//code information for the first part of a UUID. Will return zero's if there //aren't enough bits to shift where it needs to.UUID.getIntegerBits = function(val,start,end){ var base16 = UUID.returnBase(val,16); var quadArray = new Array(); var quadString = ''; var i = 0; for(i=0;i<base16.length;i++){ quadArray.push(base16.substring(i,i+1)); } for(i=Math.floor(start/4);i<=Math.floor(end/4);i++){ if(!quadArray[i] || quadArray[i] == '') quadString += '0'; else quadString += quadArray[i]; } return quadString;}; //Replaced from the original function to leverage the built in methods in//JavaScript. Thanks to Robert Kieffer for pointing this one outUUID.returnBase = function(number, base){ return (number).toString(base).toUpperCase();}; //pick a random number within a range of numbers//int b rand(int a); where 0 <= b <= aUUID.rand = function(max){ return Math.floor(Math.random() * (max + 1));};
将以上js放入独立的js文件,文件名可以为UUID.js,
调用UUID.prototype.createUUID ();该方法将会返回一个32位的UUID值
0 0
- js中创建UUID
- js中创建UUID
- 储存过程中创建uuid方法
- 储存过程中创建uuid方法
- js UUID
- 如何在postgressql中创建uuid函数(…
- 解决在postgressql中创建uuid函数失败问题
- iBeacon 创建一个UUID
- db2创建32UUID
- [JavaScript]JS生成UUID
- JS生成UUID
- JS 实现 UUID
- js生成UUID
- JS生成UUID
- js生成UUID
- JS生成UUID
- JS生成自定义uuid
- Node.js npm uuid
- SpiderMonkey执行JIT的时机
- 设计模式:抽象工厂模式
- LoadRunner压力测试时监控服务器Linux的资源情况
- ffmpeg 最简单的水印功能
- html背景图 全屏 自适应 css
- js中创建UUID
- 研发管理工具
- 短按耳机键暂停/播放FM功能的实现
- iOS NSURLSessionConfiguration Reference
- 两个div叠加(两张图片叠加)
- 9切图编辑器下载 及 工具说明 【Nine-Patch Editor1_0_0_3】来源 米柚
- Linux 的(cut,sed,awk,grep,sort)
- 最简单的基于FFmpeg的AVfilter例子(水印叠加)
- HDU——2066一个人的旅行(优先队列SPFA水题)