By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,659 Members | 1,611 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,659 IT Pros & Developers. It's quick & easy.

can anyone tell me what this says

P: 1
Expand|Select|Wrap|Line Numbers
  1. keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
  2.  
  3.   encode : function (input) {
  4.      var output = "";
  5.      var chr1, chr2, chr3 = "";
  6.      var enc1, enc2, enc3, enc4 = "";
  7.      var i = 0;
  8.  
  9.      do {
  10.         chr1 = input.charCodeAt(i++);
  11.         chr2 = input.charCodeAt(i++);
  12.         chr3 = input.charCodeAt(i++);
  13.  
  14.         enc1 = chr1 >> 2;
  15.         enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
  16.         enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
  17.         enc4 = chr3 & 63;
  18.  
  19.         if (isNaN(chr2)) {
  20.            enc3 = enc4 = 64;
  21.         } else if (isNaN(chr3)) {
  22.            enc4 = 64;
  23.         }
  24.  
  25.         output = output +
  26.            this.keyStr.charAt(enc1) +
  27.            this.keyStr.charAt(enc2) +
  28.            this.keyStr.charAt(enc3) +
  29.            this.keyStr.charAt(enc4);
  30.         chr1 = chr2 = chr3 = "";
  31.         enc1 = enc2 = enc3 = enc4 = "";
  32.      } while (i < input.length);
  33.  
  34.      return output;
  35.   },
  36.  
  37.   decode: function (input) {
  38.      var output = "";
  39.      var chr1, chr2, chr3 = "";
  40.      var enc1, enc2, enc3, enc4 = "";
  41.      var i = 0;
  42.  
  43.      // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
  44.      var base64test = /[^A-Za-z0-9\+\/\=]/g;
  45.      if (base64test.exec(input)) {
  46.         alert("There were invalid base64 characters in the input text.\n" +
  47.               "Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\n" +
  48.               "Expect errors in decoding.");
  49.      }
  50.      input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
  51.  
  52.      do {
  53.         enc1 = this.keyStr.indexOf(input.charAt(i++));
  54.         enc2 = this.keyStr.indexOf(input.charAt(i++));
  55.         enc3 = this.keyStr.indexOf(input.charAt(i++));
  56.         enc4 = this.keyStr.indexOf(input.charAt(i++));
  57.  
  58.         chr1 = (enc1 << 2) | (enc2 >> 4);
  59.         chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
  60.         chr3 = ((enc3 & 3) << 6) | enc4;
  61.  
  62.         output = output + String.fromCharCode(chr1);
  63.  
  64.         if (enc3 != 64) {
  65.            output = output + String.fromCharCode(chr2);
  66.         }
  67.         if (enc4 != 64) {
  68.            output = output + String.fromCharCode(chr3);
  69.         }
  70.  
  71.         chr1 = chr2 = chr3 = "";
  72.         enc1 = enc2 = enc3 = enc4 = "";
  73.  
  74.      } while (i < input.length);
  75.  
  76.      return output;
  77.   }
  78.  
  79. } // end of Base64 namespace
May 12 '13 #1
Share this Question
Share on Google+
1 Reply


Rabbit
Expert Mod 10K+
P: 12,370
From what I can tell, it defines two functions that take an input and convert it to and from base 64.
May 13 '13 #2

Post your reply

Sign in to post your reply or Sign up for a free account.