betvicor官网新、老玩家首选的体育赛事资讯,betvicor官网我们等待是您最乐切的希望,我们把希望变成现实的,betvicor官网精美的游戏画面,可信的公司信誉,诚信经营,童叟无欺!

网站地图 文章归档
当前位置:主页 > 资讯文章 >

base64加密解密(包罗汉字数字公式)

时间:2020-05-19 03:32来源:原创 作者:admin 点击:

  var base64EncodeChars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

  var base64DecodeChars=new Array(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);

  function base64encode(str){

  var out, i, len;

  var c1, c2, c3;

  len = str.length;

  i =0;

  out ="";

  while (i < len) {

  c1 =str.charCodeAt(i++) & 0xff;

  if (i== len) {

  out +=base64EncodeChars.charAt(c1 >> 2);

  out +=base64EncodeChars.charAt((c1 & 0x3) << 4);

  out +="==";

  break;

  }

  c2 =str.charCodeAt(i++);

  if (i== len) {

  out +=base64EncodeChars.charAt(c1 >> 2);

  out +=base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));

  out +=base64EncodeChars.charAt((c2 & 0xF) << 2);

  out +="=";

  break;

  }

  c3 =str.charCodeAt(i++);

  out +=base64EncodeChars.charAt(c1 >> 2);

  out +=base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));

  out +=base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6));

  out +=base64EncodeChars.charAt(c3 & 0x3F);

  }

  return out;

  }

  function base64decode(str){

  var c1, c2, c3, c4;

  var i, len, out;

  len = str.length;

  i =0;

  out ="";

  while (i < len) {

  do {

  c1 =base64DecodeChars[str.charCodeAt(i++) & 0xff];

  }

  while (i < len && c1==-1);

  if (c1==-1)

  break;

  do {

  c2 =base64DecodeChars[str.charCodeAt(i++) & 0xff];

  }

  while (i < len && c2==-1);

  if (c2==-1)

  break;

  out +=String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4));

  do {

  c3 =str.charCodeAt(i++) & 0xff;

  if (c3==61)

  return out;

  c3 = base64DecodeChars[c3];

  }

  while (i < len && c3==-1);

  if (c3==-1)

  break;

  out +=String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2));

  do {

  c4 =str.charCodeAt(i++) & 0xff;

  if (c4==61)

  return out;

推荐文章
最近更新