Common webpage code encryption and decryption
Last Update:2018-12-07
Source: Internet
Author: User
The Code is as follows: <Html> <br/> <pead> <br/> <title> common webpage code encryption and decryption </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/>}</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/>}</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 +" Limit "); <br/>}< br/> else <br/>{< br/> return ""; <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/>,, <br/>, <br/> 1,, 2, <br/>, <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/> 0x60, 0 x, 0x2A, 0x65, 0x4D, 0x43, <br/> 0x5F, 0x51,0x33, 0x7E, 0x53,0x42, 0x4F, 0x52,0x20,0x52,0x20,0x63, <br/> 0x7A, 0x26, 0x4A, 0x21,0x54, 0x 5A, 0 x, 0 x, 0 x, 0x20, 0x2B, 0x79, <br/> 0 x, 0 x, 0x63, 0x2A, 0x57, 0x2A, 0x58, 0x6C, 0x76, 0x7F, 0x2B, <br/> 0x47, 0x7B, 0 x, 0 x, 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, 0x56, 0x75, 0x5F, 0 X71, 0x28, 0x26, 0x39,0x78, <br/> 0x7C, 0x46, 0x6E, 0x53, 0x4A, 0x64, 0x48, 0x5C, 0 x, 0x67, <br/> 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,0x34,0x34, 0x6B, 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 ["". charCodeAt (0) + I] = I <br/> digits ["". 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 = 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/> re = new regExp ("(JScript | VBscript ). encode "," gmi ") <br/> while(arr=re.exe c (unEncodingString) unEncodingString = RegExp. leftContext + RegExp. $1 + RegExp. rightContext <br/> return unEncodingString <br/>}< br/> // --> <br/> </SCRIPT> <br/> </pead> </p> <p> <body> <br/> <form name = "form1"> <br/> <center> <B> <font color = "blue" size = "+ 2 "> common webpage code encryption and decryption </font> </B> <br/> <font color =" green "> <B> pre-encryption code <br> keywords <br> </B> </font> <textarea cols = "80" name = "Word" onChange = "SetWords (this) "rows =" 6 "> </textarea> <br/> <input type =" button "name =" Escape "onClick =" SetNewWords1 (this. form) "value =" Escape encryption "> <br/> <input type =" button "name =" Unescape "onclick =" SetNewWords (this. form) "value =" Escape decryption "> <br/> <input type =" button "name =" Encode "value =" Encode encryption "onclick =" this. form. newWords. value = screncode (this. form. word. value, 'js') "> <br/> <input type =" button "name =" Decode "value =" Encode decryption "onclick =" this. form. newWords. value = strdec (this. form. word. value) "> <br/> <br> <font color = green> <B> encrypted code <br> encrypted <br> </B> </font> <textarea cols = "80" name = "NewWords" rows = "6"> </textarea> <br/> </center> <br/> </form> <br/> </body> <br/> </ptml>
[Ctrl + A select all prompt: you can modify part of the code first, then click to run the Code]