JAVASCRIPT   78

smae decode

Guest on 3rd May 2022 04:22:50 PM

  1. var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
  2.                
  3. function smae_decode(m){ document.location.href='mailto:' + decode64(m).replace("&","%26"); }
  4.  
  5. function decode64(input) {
  6.        
  7.         var output = '';
  8.         var chr1, chr2, chr3 = '';
  9.         var enc1, enc2, enc3, enc4 = '';
  10.         var i = 0;
  11.          
  12.         input = input.replace(/[^A-Za-z0-9\+\/\=]/g, '');
  13.          
  14.         do {
  15.                 enc1 = keyStr.indexOf(input.charAt(i++));
  16.                 enc2 = keyStr.indexOf(input.charAt(i++));
  17.                 enc3 = keyStr.indexOf(input.charAt(i++));
  18.                 enc4 = keyStr.indexOf(input.charAt(i++));
  19.                  
  20.                 chr1 = (enc1 << 2) | (enc2 >> 4);
  21.                 chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
  22.                 chr3 = ((enc3 & 3) << 6) | enc4;
  23.                  
  24.                 output = output + String.fromCharCode(chr1);
  25.                  
  26.                 if (enc3 != 64) {
  27.                
  28.                         output = output + String.fromCharCode(chr2);
  29.                 }
  30.                 if (enc4 != 64) {
  31.                
  32.                         output = output + String.fromCharCode(chr3);
  33.                 }
  34.                  
  35.                 chr1 = chr2 = chr3 = '';
  36.                 enc1 = enc2 = enc3 = enc4 = '';
  37.  
  38.         } while (i < input.length);
  39.      
  40.         return unescape(output);
  41. }

Raw Paste


Login or Register to edit or fork this paste. It's free.