Skip to content

Instantly share code, notes, and snippets.

@aidansteele
Created October 17, 2012 06:31
Show Gist options
  • Save aidansteele/3904023 to your computer and use it in GitHub Desktop.
Save aidansteele/3904023 to your computer and use it in GitHub Desktop.
function getSafeID() {
var idLen = 50;
var vResult = '';
var browser1 = navigator.userAgent || '98d879sd7fIUODCOISAUCA9s8d7fs98d7fs98fd7s';
var browser2 = navigator.appVersion || '7sJKSFHKSJFDd98f7sdf98s7df9s8d7f9';
var browser3 = navigator.vendor || 'oa87f98s7df98sd7f98dsfs9e';
var browser4 = navigator.platform || 'gHHpldsf987s0fs0d9fs0fdease';
var hashMe = browser1 + browser2 + browser3 + browser4 + '00000000000000000000000000000000000000000000000000';
var i = 0;
var buf1 = []
for (z = 0; z < hashMe.length; z++) {
buf1[i] = hashMe.charCodeAt(z) ^ (Math.random() * 256);
i = i + 1;
if (i > idLen) i = 1;
}
for (var i = 0; i < idLen; i++) {
vResult += pad(toHex(buf1[i] & 0xff), 2, '0');
}
var chkdigit = 0;
for (var i = 0; i < idLen; i++) {
chkdigit += vResult.charCodeAt(i) & 0xff;
chkdigit = chkdigit & 0xFFFF
}
vResult = 'a-' + pad(toHex(chkdigit & 0xffff), 4, '0') + '-' + vResult;
return vResult;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment