網頁代碼常用加解密
來源:互聯網
上載者:User
代碼如下:
<html><br /><head><br /><title>網頁代碼常用加解密</title><br /><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><br /><SCRIPT LANGUAGE="JavaScript"><br /><!--<br />var Words;<br />function SetWords(word)<br />{<br />Words=word.value;<br />}</p><p>function SetNewWords(form)<br />{<br />if (form1.Word.value != "")<br />{<br />var NewWords;<br />NewWords=unescape(Words);<br />form.NewWords.value=NewWords;<br />}<br />}</p><p>function SetNewWords1(form)<br />{<br />if (form1.Word.value != "")<br />{<br />var NewWords;<br />NewWords=escape(Words);<br />form.NewWords.value=NewWords;<br />}<br />}</p><p>function screncode(s,l)<br />{<br />if (form1.Word.value != "")<br />{<br />enc=new ActiveXObject("Scripting.Encoder");<br />return enc.EncodeScriptFile("."+l,s,0,l+"cript");<br />}<br />else<br />{<br />return "";<br />}<br />}</p><p>var STATE_COPY_INPUT=100<br />var STATE_READLEN=101<br />var STATE_DECODE=102<br />var STATE_UNESCAPE=103</p><p>var pick_encoding=new Array(<br />1,2,0,1,2,0,2,0,0,2,0,2,1,0,2,0,<br />1,0,2,0,1,1,2,0,0,2,1,0,2,0,0,2,<br />1,1,0,2,0,2,0,1,0,1,1,2,0,1,0,2,<br />1,0,2,0,1,1,2,0,0,1,1,2,0,1,0,2<br />)</p><p>var rawData=new Array(<br />0x64,0x37,0x69,0x50,0x7E,0x2C,0x22,0x5A,0x65,0x4A,0x45,0x72,<br />0x61,0x3A,0x5B,0x5E,0x79,0x66,0x5D,0x59,0x75,0x5B,0x27,0x4C,<br />0x42,0x76,0x45,0x60,0x63,0x76,0x23,0x62,0x2A,0x65,0x4D,0x43,<br />0x5F,0x51,0x33,0x7E,0x53,0x42,0x4F,0x52,0x20,0x52,0x20,0x63,<br />0x7A,0x26,0x4A,0x21,0x54,0x5A,0x46,0x71,0x38,0x20,0x2B,0x79,<br />0x26,0x66,0x32,0x63,0x2A,0x57,0x2A,0x58,0x6C,0x76,0x7F,0x2B,<br />0x47,0x7B,0x46,0x25,0x30,0x52,0x2C,0x31,0x4F,0x29,0x6C,0x3D,<br />0x69,0x49,0x70,0x3F,0x3F,0x3F,0x27,0x78,0x7B,0x3F,0x3F,0x3F,<br />0x67,0x5F,0x51,0x3F,0x3F,0x3F,0x62,0x29,0x7A,0x41,0x24,0x7E,<br />0x5A,0x2F,0x3B,0x66,0x39,0x47,0x32,0x33,0x41,0x73,0x6F,0x77,<br />0x4D,0x21,0x56,0x43,0x75,0x5F,0x71,0x28,0x26,0x39,0x42,0x78,<br />0x7C,0x46,0x6E,0x53,0x4A,0x64,0x48,0x5C,0x74,0x31,0x48,0x67,<br />0x72,0x36,0x7D,0x6E,0x4B,0x68,0x70,0x7D,0x35,0x49,0x5D,0x22,<br />0x3F,0x6A,0x55,0x4B,0x50,0x3A,0x6A,0x69,0x60,0x2E,0x23,0x6A,<br />0x7F,0x09,0x71,0x28,0x70,0x6F,0x35,0x65,0x49,0x7D,0x74,0x5C,<br />0x24,0x2C,0x5D,0x2D,0x77,0x27,0x54,0x44,0x59,0x37,0x3F,0x25,<br />0x7B,0x6D,0x7C,0x3D,0x7C,0x23,0x6C,0x43,0x6D,0x34,0x38,0x28,<br />0x6D,0x5E,0x31,0x4E,0x5B,0x39,0x2B,0x6E,0x7F,0x30,0x57,0x36,<br />0x6F,0x4C,0x54,0x74,0x34,0x34,0x6B,0x72,0x62,0x4C,0x25,0x4E,<br />0x33,0x56,0x30,0x56,0x73,0x5E,0x3A,0x68,0x73,0x78,0x55,0x09,<br />0x57,0x47,0x4B,0x77,0x32,0x61,0x3B,0x35,0x24,0x44,0x2E,0x4D,<br />0x2F,0x64,0x6B,0x59,0x4F,0x44,0x45,0x3B,0x21,0x5C,0x2D,0x37,<br />0x68,0x41,0x53,0x36,0x61,0x58,0x58,0x7A,0x48,0x79,0x22,0x2E,<br />0x09,0x60,0x50,0x75,0x6B,0x2D,0x38,0x4E,0x29,0x55,0x3D,0x3F<br />)</p><p>var transformed=new Array()<br />for (var i=0; i<3; i++) transformed[i]=new Array()<br />for (var i=31; i<=126; i++) for (var j=0; j<3; j++) transformed[j][rawData[(i-31) * 3+j]]=(i==31)?9:i<br />var digits=new Array()<br />for (var i=0; i<26; i++)<br />{<br />digits["A".charCodeAt(0)+i]=i<br />digits["a".charCodeAt(0)+i]=i+26<br />}<br />for (var i=0; i<10; i++) digits["0".charCodeAt(0)+i]=i+52<br />digits[0x2b]=62<br />digits[0x2f]=63</p><p>function unescape2(char)<br />{<br />var escapes="#&!*$"<br />var escaped="\r\n<>@"<br />if (char.charCodeAt(0) > 126) return char<br />if (escapes.indexOf(char)!=-1) return escaped.substr(escapes.indexOf(char),1)<br />return "?"<br />}</p><p>function decodeBase64(string)<br />{<br />var val=0<br />val+=(digits[string.substr(0,1).charCodeAt(0)]<<2)<br />val+=(digits[string.substr(1,1).charCodeAt(0)]>>4)<br />val+=(digits[string.substr(1,1).charCodeAt(0)]&0xf)<<12<br />val+=((digits[string.substr(2,1).charCodeAt(0)]>>2)<<8)<br />val+=((digits[string.substr(2,1).charCodeAt(0)]&0x3)<<22)<br />val+=(digits[string.substr(3,1).charCodeAt(0)]<<16)<br />return val<br />}</p><p>function strdec(encodingString)<br />{<br />var marker="#@~^"<br />var stringIndex=0<br />var scriptIndex=-1<br />var unEncodingIndex=0<br />var char=null<br />var encodingLength=unEncodinglength=0<br />var state=STATE_COPY_INPUT<br />var unEncodingString=""<br />var re,arr<br />while(state){<br />switch (state)<br />{<br />case (STATE_COPY_INPUT):<br />scriptIndex=encodingString.indexOf(marker,stringIndex)<br />if (scriptIndex!=-1){<br />unEncodingString+=encodingString.substring(stringIndex,scriptIndex)<br />scriptIndex+=marker.length<br />state=STATE_READLEN<br />}else{<br />stringIndex=stringIndex==0?0:stringIndex<br />unEncodingString+=encodingString.substr(stringIndex,encodingString.length)<br />state=0<br />}<br />break<br />case (STATE_READLEN):<br />encodingLength=encodingString.substr(scriptIndex,6)<br />unEncodinglength=decodeBase64(encodingLength)<br />scriptIndex+=(6+"==".length)<br />state=STATE_DECODE<br />break<br />case (STATE_DECODE):<br />if (!unEncodinglength){<br />stringIndex=scriptIndex+"DQgAAA==^#~@".length<br />unEncodingIndex=0<br />state=STATE_COPY_INPUT<br />break<br />}<br />char=encodingString.substr(scriptIndex,1)<br />if (char=="@") state=STATE_UNESCAPE<br />else{<br />if (char.charCodeAt(0)<0xFF){<br />unEncodingString+=String.fromCharCode(transformed[pick_encoding[unEncodingIndex%64]][char.charCodeAt(0)])<br />unEncodingIndex++<br />}else{<br />unEncodingString+=char<br />}<br />scriptIndex++<br />unEncodinglength--<br />break<br />}<br />case STATE_UNESCAPE:<br />unEncodingString+=unescape2(encodingString.substr(++scriptIndex,1))<br />scriptIndex++; unEncodinglength -=2<br />unEncodingIndex++<br />state=STATE_DECODE<br />break<br />}<br />}<br />re=new RegExp("(JScript|VBscript).encode","gmi")<br />while(arr=re.exec(unEncodingString)) unEncodingString=RegExp.leftContext+RegExp.$1+RegExp.rightContext<br />return unEncodingString<br />}<br />//--><br /></SCRIPT><br /></head></p><p><body><br /><form name="form1"><br /><center><b><font color="blue" size="+2">網頁代碼常用加解密</font></b><br><br><br /><font color="green"><b>加密前代碼<br>↓<br></b></font><textarea cols="80" name="Word" onChange="SetWords(this)" rows="6"></textarea><br><br /> <input type="button" name="Escape" onClick="SetNewWords1(this.form)" value="Escape加密"><br /> <input type="button" name="Unescape" onclick="SetNewWords(this.form)" value="Escape解密"><br /> <input type="button" name="Encode" value="Encode加密" onclick="this.form.NewWords.value=screncode(this.form.Word.value,'JS')"><br /> <input type="button" name="Decode" value="Encode解密" onclick="this.form.NewWords.value=strdec(this.form.Word.value)"><br><br /><br><font color=green><b>加密後代碼<br>↓<br></b></font><textarea cols="80" name="NewWords" rows="6"></textarea><br /></center><br /></form><br /></body><br /></html>
[Ctrl+A 全選 提示:你可先修改部分代碼,再點運行代碼]