@gby/uniqueid
Version:
uniqueid 无任何依赖,提供了获取唯一标识相关的工具,比如:UUID、UCID、Fingerprint、浏览器指纹、唯一标识符 等等
2 lines (1 loc) • 1.91 kB
JavaScript
var uniqueid=function(e){"use strict";function t(){var e=document.createElement("canvas"),t=e.getContext("2d");return t&&(t.textBaseline="alphabetic",t.font="14px Arial",t.fillStyle="#ccc",t.fillText("?! 科研者 GuoBinYong abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~1!2@3#4$5%6^7&8*9(0)-_=+[{]}|;:',<.>/?!",2,3)),e.toDataURL("image/jpeg").replace("data:image/jpeg;base64,","")}var a="_?!_";var r="_uuid";function n(){return Date.now().toString()+String(Math.random()).slice(1)}var c="_ucid";function o(e){for(var t,a,r,n=3&e.length,c=e.length-n,o=3432918353,i=461845907,l=0;l<c;l++)r=255&e.charCodeAt(l)|(255&e.charCodeAt(++l))<<8|(255&e.charCodeAt(++l))<<16|(255&e.charCodeAt(++l))<<24,++l,t=27492+(65535&(a=5*(65535&(t=(t^=r=(65535&(r=(r=(65535&r)*o+(((r>>>16)*o&65535)<<16)&4294967295)<<15|r>>>17))*i+(((r>>>16)*i&65535)<<16)&4294967295)<<13|t>>>19))+((5*(t>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);var u=c-1;switch(r=0,n){case 3:r^=(255&e.charCodeAt(u+2))<<16;break;case 2:r^=(255&e.charCodeAt(u+1))<<8;break;case 1:r^=255&e.charCodeAt(u)}return t^=r=(65535&(r=(r=(65535&r)*o+(((r>>>16)*o&65535)<<16)&4294967295)<<15|r>>>17))*i+(((r>>>16)*i&65535)<<16)&4294967295,t^=e.length,t=2246822507*(65535&(t^=t>>>16))+((2246822507*(t>>>16)&65535)<<16)&4294967295,t=3266489909*(65535&(t^=t>>>13))+((3266489909*(t>>>16)&65535)<<16)&4294967295,(t^=t>>>16)>>>0}return e.createUniqueIdentifier=n,e.getCanvasFingerprint=t,e.getUCID=function(){var e=a+c,t=localStorage.getItem(e);return t||(t=n(),localStorage.setItem(e,t)),t},e.getUUID=function(){var e=a+r,n=localStorage.getItem(e);if(!n){var c=t();n=String(o(c)),localStorage.setItem(e,n)}return n},e.murmurhash3_32_gc=o,e.setKeyPrefix=function(e){a=e},e.setUCID=function(e){var t=a+c;localStorage.setItem(t,e)},e.setUUID=function(e){var t=a+r;localStorage.setItem(t,e)},Object.defineProperty(e,"__esModule",{value:!0}),e}({});