var base64s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
function encode(decStr) {
  decStr=escape(decStr);
  var bits,dual,i=0,encOut='';
  while (decStr.length >= i+3) {
    bits =
      (decStr.charCodeAt(i++) & 0xff) <<16 |
      (decStr.charCodeAt(i++) & 0xff) <<8  |
       decStr.charCodeAt(i++) & 0xff;
    encOut +=
      base64s.charAt((bits & 0x00fc0000) >>18) +
      base64s.charAt((bits & 0x0003f000) >>12) +
      base64s.charAt((bits & 0x00000fc0) >> 6) +
      base64s.charAt((bits & 0x0000003f));
  }
  if (decStr.length -i > 0 && decStr.length -i < 3) {
    dual = Boolean(decStr.length-i-1);
    bits =
      ((decStr.charCodeAt(i++) & 0xff) <<16) |
       (dual ? (decStr.charCodeAt(i) & 0xff) <<8 : 0);
    encOut +=
      base64s.charAt((bits & 0x00fc0000) >>18) +
      base64s.charAt((bits & 0x0003f000) >>12) +
      (dual ? base64s.charAt((bits & 0x00000fc0) >>6):'=')+'=';
  }
  return encOut;
}


/*
 * converter Encoding
 *	
 */
function encode_converter( what )
{
      var converter_encodetable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
      var result = "";
      var len = what.length;
      var x, y;
      var ptr = 0;

      while( len-- > 0 )
      {
            x = what.charCodeAt( ptr++ );
            result += converter_encodetable.charAt( ( x >> 2 ) & 63 );

            if( len-- <= 0 )
            {
                  result += converter_encodetable.charAt( ( x << 4 ) & 63 );
                  result += "==";
                  break;
            }

            y = what.charCodeAt( ptr++ );
            result += converter_encodetable.charAt( ( ( x << 4 ) | ( ( y >> 4 ) & 15 ) ) & 63 );

            if ( len-- <= 0 )
            {
                  result += converter_encodetable.charAt( ( y << 2 ) & 63 );
                  result += "=";
                  break;
            }

            x = what.charCodeAt( ptr++ );
            result += converter_encodetable.charAt( ( ( y << 2 ) | ( ( x >> 6 ) & 3 ) ) & 63 );
            result += converter_encodetable.charAt( x & 63 );
      }

      return result;
}
/*
 * ·£´ý¹®ÀÚ¿­ ¸¸µé±â
 *	
 */
function GenRandom(len)
{
	var arr="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z".split(",");
	var tmp="";

	for (var j=0; j<len; j++) {
		tmp+=arr[Math.floor(Math.random()*arr.length)];
	}

	return tmp;
}

/*
 * Àü´Þ µ¥ÀÌÅÍ Encoding ¹æ½Ä
 *          
 *  i)  ¾ÆÀÌµð(Æò¹®) ¾ÕµÚ·Î ·£´ý¹®ÀÚ¿­ 2byte ¾¿ Ãß°¡ ÈÄ converter Encoding
 *      converter Encode((2byte ·£´ý) + Æò¹® + (2byte ·£´ý)) 
 *  ii) ¾Õ´Ü°èÀÇ °ª¿¡ ¾ÕµÚ·Î ·£´ý¹®ÀÚ¿­ 2byte ¾¿ Ãß°¡ ÈÄ converter Encoding
 *      converter Encode((2byte ·£´ý) + ¾Õ´Ü°è°á°ú¹® + (2byte ·£´ý)) 
 */
function sdt_encode(plain)
{		
	var plain1 = GenRandom(2) + plain + GenRandom(2);
	var encode1 = GenRandom(2) + encode(plain1) + GenRandom(2); 
	var encode2 = encode(encode1);
	
	return encode2;
}
