《JAVASCRIPT 常用JS加密编码算法.docx》由会员分享,可在线阅读,更多相关《JAVASCRIPT 常用JS加密编码算法.docx(21页珍藏版)》请在金锄头文库上搜索。
1、转:http:/ icode0x10)newStr+=%0+icode.toString(16).toUpperCase();elseif(icode=0x30&icode=0x41&icode=0x61&icode=0x7A)newStr+=Str.charAt(i);elsenewStr+=%+toCase(icode);elseif(icode6);newStr+=%+toCase(0x80+icode%0x40);elsenewStr+=%+toCase(0xE0+(icode12);newStr+=%+toCase(0x80+(icode6)%0x40);newStr+=%+toCa
2、se(0x80+icode%0x40);returnnewStr;二:Base64编码,解码函数varbase64EncodeChars=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/;varbase64DecodeChars=newArray(-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,-
3、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);functionbase64encode(str) varout, i, len;varc1, c2, c3;len=st
4、r.length;i=0;out=;while(i2);out+=base64EncodeChars.charAt(c1&0x3)2);out+=base64EncodeChars.charAt(c1&0x3)4);out+=base64EncodeChars.charAt(c2&0xF)2);out+=base64EncodeChars.charAt(c1&0x3)4);out+=base64EncodeChars.charAt(c2&0xF)6);out+=base64EncodeChars.charAt(c3&0x3F);returnout;functionbase64decode(st
5、r) varc1, c2, c3, c4;vari, len, out;len=str.length;i=0;out=;while(ilen) /*c1*/doc1=base64DecodeCharsstr.charCodeAt(i+)&0xff;while(ilen&c1=-1);if(c1=-1)break;/*c2*/doc2=base64DecodeCharsstr.charCodeAt(i+)&0xff;while(ilen&c2=-1);if(c2=-1)break;out+=String.fromCharCode(c14);/*c3*/doc3=str.charCodeAt(i+
6、)&0xff;if(c3=61)returnout;c3=base64DecodeCharsc3;while(ilen&c3=-1);if(c3=-1)break;out+=String.fromCharCode(c2&0XF)2);/*c4*/doc4=str.charCodeAt(i+)&0xff;if(c4=61)returnout;c4=base64DecodeCharsc4;while(ilen&c4=-1);if(c4=-1)break;out+=String.fromCharCode(c3&0x03)6)|c4);returnout;functionutf16to8(str) v
7、arout, i, len, c;out=;len=str.length;for(i=0; i=0x0001)&(c0x07FF) out+=String.fromCharCode(0xE0|(c12)&0x0F);out+=String.fromCharCode(0x80|(c6)&0x3F);out+=String.fromCharCode(0x80|(c0)&0x3F);elseout+=String.fromCharCode(0xC0|(c6)&0x1F);out+=String.fromCharCode(0x80|(c0)&0x3F);returnout;functionutf8to16(str) varout, i, len, c;varchar2, char3;out=;len=str.length;i=0;while(i4)case0:case1:case2:case3:case4:case5:case6:case7:/0xxxxxxxout+=str.charAt(i-1);break;case12:case13:/110x xxxx 10xx xxxxchar2=str.charCodeAt(i+);out+=String.fromCharCode(c&0x1F)6)|(char2&0x3F)