8进制
1 /*8进制加密*/ 2 function EnEight(){ 3 var monyer = new Array();var i,s; 4 for(i=0;i<txt.value.length;i++) 5 monyer+="\\"+txt.value.charCodeAt(i).toString(8); 6 txt.value=monyer; 7 } 8 /*8进制解密*/ 9 function DeEight(){ 10 var monyer = new Array();var i; 11 var s=txt.value.split("\\"); 12 for(i=1;i<s.length;i++) 13 monyer+=String.fromCharCode(parseInt(s[i],8)); 14 txt.value=monyer; 15 }
10进制
1 /*10进制加密*/ 2 function Encrypt(){ 3 var monyer = new Array();var i,s; 4 for(i=0;i<txt.value.length;i++){ 5 s=txt.value.charCodeAt(i).toString(16); 6 if(Decimal1.checked) monyer+="&#"+txt.value.charCodeAt(i)+";"; 7 else if (Decimal2.checked) monyer+="&#"+new Array(7-String(s).length).join("0")+txt.value.charCodeAt(i); 8 else monyer+=txt.value.charCodeAt(i)+","; 9 }txt.value=monyer; 10 } 11 /*10进制解密*/ 12 function Decrypt(){ 13 var monyer = new Array();var i; 14 if(Decimal1.checked){ 15 var s=txt.value.split(";"); 16 for(i=0;i<s.length;i++){ 17 s[i]=s[i].replace(\'&#\',\'\'); 18 monyer+=String.fromCharCode(s[i]); 19 } 20 }else if(Decimal2.checked){ 21 var s=txt.value.split("&"); 22 for(i=1;i<s.length;i++){ 23 s[i]=s[i].replace(\'#\',\'\'); 24 monyer+=String.fromCharCode(s[i]); 25 } 26 }else{ 27 var s=txt.value.split(","); 28 for(i=0;i<s.length;i++) 29 monyer+=String.fromCharCode(s[i]); 30 }txt.value=monyer; 31 }
16进制
1 /*16进制加密*/ 2 function JavaEn(){ 3 var monyer = new Array();var i,s; 4 for(i=0;i<txt.value.length;i++){ 5 s=txt.value.charCodeAt(i).toString(16); 6 if(hex1.checked) monyer+="\\u"+new Array(5-String(s).length).join("0")+s; 7 else if(hex2.checked) monyer+="&#x"+new Array(5-String(s).length).join("0")+s+";"; 8 else if(hex3.checked) monyer+="\\x"+new Array(5-String(s).length).join("0")+s; 9 else monyer+="\\"+new Array(5-String(s).length).join("0")+s; 10 }txt.value=monyer; 11 } 12 var p=document.documentElement.outerHTML.length; 13 /*16进制解密*/ 14 function JavaDe(){ 15 if(hex1.checked){ 16 var monyer = new Array();var i; 17 var s=txt.value.split("\\"); 18 for(i=1;i<s.length;i++){ 19 s[i]=s[i].replace(\'u\',\'\'); 20 monyer+=String.fromCharCode(parseInt(s[i],16)); 21 } 22 }else if(hex2.checked){ 23 var monyer = new Array();var i; 24 var s=txt.value.split(";"); 25 for(i=0;i<s.length;i++){ 26 s[i]=s[i].replace(\'&#x\',\'\'); 27 monyer+=String.fromCharCode(parseInt(s[i],16)); 28 } 29 } 30 else if(hex3.checked){ 31 var monyer = new Array();var i; 32 var s=txt.value.split("\\"); 33 for(i=1;i<s.length;i++){ 34 s[i]=s[i].replace(\'x\',\'\'); 35 monyer+=String.fromCharCode(parseInt(s[i],16)); 36 } 37 }else{ 38 var monyer = new Array();var i; 39 var s=txt.value.split("\\"); 40 for(i=1;i<s.length;i++) 41 monyer+=String.fromCharCode(parseInt(s[i],16)); 42 }txt.value=monyer; 43 } 44 /*任意进制加密*/ 45 function EnChTo(h){ 46 var monyer = new Array();var i,s; 47 for(i=0;i<txt.value.length;i++) 48 monyer+=txt.value.charCodeAt(i).toString(h)+" "; 49 txt.value=monyer; 50 } 51 /*任意进制解密*/ 52 function DeChTo(h){ 53 var monyer = new Array();var i; 54 var s=txt.value.split(" "); 55 for(i=0;i<s.length;i++) 56 monyer+=String.fromCharCode(parseInt(s[i],h)); 57 txt.value=monyer; 58 }
URI加密
1 function HtmlEncode(i) 2 { 3 if (i == 1) 4 txt.value 5 = txt.value.replace(/&/g, \'&\').replace(/\"/g, \'"\').replace(/</g, \'<\').replace(/>/g, 6 \'>\'); 7 8 if (i == 2) 9 txt.value 10 = txt.value.replace(/&/g, \'&\').replace(/"/g, \'\"\').replace(/</g, 11 \'<\').replace(/>/g, \'>\') 12 } 13 14 var hex_chr = "0123456789abcdef"; 15 16 function rhex(num) 17 { 18 str = ""; 19 20 for (j = 0; j <= 3; j++) 21 str += hex_chr.charAt((num >> (j * 8 + 4)) & 0x0F) + hex_chr.charAt((num >> (j * 8)) & 0x0F); 22 23 return str 24 }
base64
1 var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; 2 var base64DecodeChars = new Array(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4 -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 5 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 6 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 7 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 8 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, 9 -1, -1); 10 11 function base64encode(str) 12 { 13 var out, i, len; 14 var c1, c2, c3; 15 len = str.length; 16 i = 0; 17 out = ""; 18 19 while (i < len) 20 { 21 c1 = str.charCodeAt(i++) & 0xff; 22 23 if (i == len) 24 { 25 out += base64EncodeChars.charAt(c1 >> 2); 26 out += base64EncodeChars.charAt((c1 & 0x3) << 4); 27 out += "=="; 28 break 29 } 30 31 c2 = str.charCodeAt(i++); 32 33 if (i == len) 34 { 35 out += base64EncodeChars.charAt(c1 >> 2); 36 out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4)); 37 out += base64EncodeChars.charAt((c2 & 0xF) << 2); 38 out += "="; 39 break 40 } 41 42 c3 = str.charCodeAt(i++); 43 out += base64EncodeChars.charAt(c1 >> 2); 44 out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4)); 45 out += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6)); 46 out += base64EncodeChars.charAt(c3 & 0x3F) 47 } 48 49 return out 50 } 51 52 function base64decode(str) 53 { 54 var c1, c2, c3, c4; 55 var i, len, out; 56 len = str.length; 57 i = 0; 58 out = ""; 59 60 while (i < len) 61 { 62 do 63 { 64 c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff] 65 } while (i < len && c1 == -1); 66 67 if (c1 == -1) 68 break; 69 70 do 71 { 72 c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff] 73 } while (i < len && c2 == -1); 74 75 if (c2 == -1) 76 break; 77 78 out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4)); 79 80 do 81 { 82 c3 = str.charCodeAt(i++) & 0xff; 83 84 if (c3 == 61) 85 return out; 86 87 c3 = base64DecodeChars[c3] 88 } while (i < len && c3 == -1); 89 90 if (c3 == -1) 91 break; 92 93 out += String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2)); 94 95 do 96 { 97 c4 = str.charCodeAt(i++) & 0xff; 98 99 if (c4 == 61) 100 return out; 101 102 c4 = base64DecodeChars[c4] 103 } while (i < len && c4 == -1); 104 105 if (c4 == -1) 106 break; 107 108 out += String.fromCharCode(((c3 & 0x03) << 6) | c4) 109 } 110 111 return out 112 }
utf8<--utf16
1 function utf16to8(str) 2 { 3 var out, i, len, c; 4 out = ""; 5 len = str.length; 6 7 for (i = 0; i < len; i++) 8 { 9 c = str.charCodeAt(i); 10 11 if ((c >= 0x0001) && (c <= 0x007F)) 12 { 13 out += str.charAt(i) 14 } 15 16 else if (c > 0x07FF) 17 { 18 out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F)); 19 out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F)); 20 out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F)) 21 } 22 23 else 24 { 25 out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F)); 26 out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F)) 27 } 28 } 29 30 return out 31 }
utf8-->utf16
1 function utf8to16(str) 2 { 3 var out, i, len, c; 4 var char2, char3; 5 out = ""; 6 len = str.length; 7 i = 0; 8 9 while (i < len) 10 { 11 c = str.charCodeAt(i++); 12 13 switch (c >> 4) 14 { 15 case 0: 16 case 1: 17 case 2: 18 case 3: 19 case 4: 20 case 5: 21 case 6: 22 case 7: 23 out += str.charAt(i - 1); 24 25 break; 26 27 case 12: 28 case 13: 29 char2 = str.charCodeAt(i++); 30 31 out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F)); 32 break; 33 34 case 14: 35 char2 = str.charCodeAt(i++); 36 37 char3 = str.charCodeAt(i++); 38 out += String.fromCharCode(((c & 0x0F) << 12) | ((char2 & 0x3F) << 6) 39 | ((char3 & 0x3F) << 0)); 40 break 41 } 42 } 43 44 return out 45 }
md5
1 function str2blks_MD5(str) 2 { 3 nblk = ((str.length + 8) >> 6) + 1; 4 blks = new Array(nblk * 16); 5 6 for (i = 0; i < nblk * 16; i++) 7 blks[i] = 0; 8 9 for (i = 0; i < str.length; i++) 10 blks[i >> 2] |= str.charCodeAt(i) << ((i % 4) * 8); 11 12 blks[i >> 2] |= 0x80 << ((i % 4) * 8); 13 blks[nblk * 16 - 2] = str.length * 8; 14 return blks 15 } 16 17 function add(x, y) 18 { 19 var lsw = (x & 0xFFFF) + (y & 0xFFFF); 20 var msw = (x >> 16) + (y >> 16) + (lsw >> 16); 21 return (msw << 16) | (lsw & 0xFFFF) 22 } 23 24 function rol(num, cnt) 25 { 26 return (num << cnt) | (num >>> (32 - cnt)) 27 } 28 29 function cmn(q, a, b, x, s, t) 30 { 31 return add(rol(add(add(a, q), add(x, t)), s), b) 32 } 33 34 function ff(a, b, c, d, x, s, t) 35 { 36 return cmn((b & c) | ((~b) & d), a, b, x, s, t) 37 } 38 39 function gg(a, b, c, d, x, s, t) 40 { 41 return cmn((b & d) | (c & (~d)), a, b, x, s, t) 42 } 43 44 function hh(a, b, c, d, x, s, t) 45 { 46 return cmn(b ^ c ^ d, a, b, x, s, t) 47 } 48 49 function ii(a, b, c, d, x, s, t) 50 { 51 return cmn(c ^ (b | (~d)), a, b, x, s, t) 52 } 53 54 function calcMD5(str) 55 { 56 x = str2blks_MD5(str); 57 a = 1732584193; 58 b = -271733879; 59 c = -1732584194; 60 d = 271733878; 61 62 for (i = 0; i < x.length; i += 16) 63 { 64 olda = a; 65 oldb = b; 66 oldc = c; 67 oldd = d; 68 a = ff(a, b, c, d, x[i + 0], 7, -680876936); 69 d = ff(d, a, b, c, x[i + 1], 12, -389564586); 70 c = ff(c, d, a, b, x[i + 2], 17, 606105819); 71 b = ff(b, c, d, a, x[i + 3], 22, -1044525330); 72 a = ff(a, b, c, d, x[i + 4], 7, -176418897); 73 d = ff(d, a, b, c, x[i + 5], 12, 1200080426); 74 c = ff(c, d, a, b, x[i + 6], 17, -1473231341); 75 b = ff(b, c, d, a, x[i + 7], 22, -45705983); 76 a = ff(a, b, c, d, x[i + 8], 7, 1770035416); 77 d = ff(d, a, b, c, x[i + 9], 12, -1958414417); 78 c = ff(c, d, a, b, x[i + 10], 17, -42063); 79 b = ff(b, c, d, a, x[i + 11], 22, -1990404162); 80 a = ff(a, b, c, d, x[i + 12], 7, 1804603682); 81 d = ff(d, a, b, c, x[i + 13], 12, -40341101); 82 c = ff(c, d, a, b, x[i + 14], 17, -1502002290); 83 b = ff(b, c, d, a, x[i + 15], 22, 1236535329); 84 a = gg(a, b, c, d, x[i + 1], 5, -165796510); 85 d = gg(d, a, b, c, x[i + 6], 9, -1069501632); 86 c = gg(c, d, a, b, x[i + 11], 14, 643717713); 87 b = gg(b, c, d, a, x[i + 0], 20, -373897302); 88 a = gg(a, b, c, d, x[i + 5], 5, -701558691); 89 d = gg(d, a, b, c, x[i + 10], 9, 38016083); 90 c = gg(c, d, a, b, x[i + 15], 14, -660478335); 91 b = gg(b, c, d, a, x[i + 4], 20, -405537848); 92 a = gg(a, b, c, d, x[i + 9], 5, 568446438); 93 d = gg(d, a, b, c, x[i + 14], 9, -1019803690); 94 c = gg(c, d, a, b, x[i + 3], 14, -187363961); 95 b = gg(b, c, d, a, x[i + 8], 20, 1163531501); 96 a = gg(a, b, c, d, x[i + 13], 5, -1444681467); 97 d = gg(d, a, b, c, x[i + 2], 9, -51403784); 98 c = gg(c, d, a, b, x[i + 7], 14, 1735328473); 99 b = gg(b, c, d, a, x[i + 12], 20, -1926607734); 100 a = hh(a, b, c, d, x[i + 5], 4, -378558); 101 d = hh(d, a, b, c, x[i + 8], 11, -2022574463); 102 c = hh(c, d, a, b, x[i + 11], 16, 1839030562); 103 b = hh(b, c, d, a, x[i + 14], 23, -35309556); 104 a = hh(a, b, c, d, x[i + 1], 4, -1530992060); 105 d = hh(d, a, b, c, x[i + 4], 11, 1272893353); 106 c = hh(c, d, a, b, x[i + 7], 16, -155497632); 107 b = hh(b, c, d, a, x[i + 10], 23, -1094730640); 108 a = hh(a, b, c, d, x[i + 13], 4, 681279174); 109 d = hh(d, a, b, c, x[i + 0], 11, -358537222); 110 c = hh(c, d, a, b, x[i + 3], 16, -722521979); 111 b = hh(b, c, d, a, x[i + 6], 23, 76029189); 112 a = hh(a, b, c, d, x[i + 9], 4, -640364487); 113 d = hh(d, a, b, c, x[i + 12], 11, -421815835); 114 115 116 c = hh(c, d, a, b, x[i + 15], 16, 530742520); 117 b = hh(b, c, d, a, x[i + 2], 23, -995338651); 118 a = ii(a, b, c, d, x[i + 0], 6, -198630844); 119 d = ii(d, a, b, c, x[i + 7], 10, 1126891415); 120 c = ii(c, d, a, b, x[i + 14], 15, -1416354905); 121 b = ii(b, c, d, a, x[i + 5], 21, -57434055); 122 a = ii(a, b, c, d, x[i + 12], 6, 1700485571); 123 d = ii(d, a, b, c, x[i + 3], 10, -1894986606); 124 c = ii(c, d, a, b, x[i + 10], 15, -1051523); 125 b = ii(b, c, d, a, x[i + 1], 21, -2054922799); 126 a = ii(a, b, c, d, x[i + 8], 6, 1873313359); 127 d = ii(d, a, b, c, x[i + 15], 10, -30611744); 128 c = ii(c, d, a, b, x[i + 6], 15, -1560198380); 129 b = ii(b, c, d, a, x[i + 13], 21, 1309151649); 130 a = ii(a, b, c, d, x[i + 4], 6, -145523070); 131 d = ii(d, a, b, c, x[i + 11], 10, -1120210379); 132 c = ii(c, d, a, b, x[i + 2], 15, 718787259); 133 b = ii(b, c, d, a, x[i + 9], 21, -343485551); 134 a = add(a, olda); 135 b = add(b, oldb); 136 c = add(c, oldc); 137 d = add(d, oldd) 138 } 139 140 return rhex(a) + rhex(b) + rhex(c) + rhex(d) 141 }