Skip to content

Instantly share code, notes, and snippets.

@ties
Created October 4, 2014 13:41
Show Gist options
  • Save ties/6724dc027841ec3e60de to your computer and use it in GitHub Desktop.
Save ties/6724dc027841ec3e60de to your computer and use it in GitHub Desktop.
function encode(instr)
{
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var outstr = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;
do {
chr1 = instr.charCodeAt(i++);
chr2 = instr.charCodeAt(i++);
chr3 = instr.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
outstr = outstr +
keyStr.charAt(enc1) +
keyStr.charAt(enc2) +
keyStr.charAt(enc3) +
keyStr.charAt(enc4);
chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";
} while (i < instr.length);
return outstr;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment