我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: encode网页加密解密 隐藏签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

kenneygf



性别: 帅哥 状态: 该用户目前不在线
头衔: 星星在眨眼~
等级: 前途无量
发贴: 6207
威望: 0
浮云: 1131
在线等级:
注册时间: 2004-05-22
最后登陆: 2009-07-12

5come5帮你背单词 [ spoonful /'spu:nful/ n. 一匙 ]


encode网页加密解密

rt。。。。。。。
顶端 Posted: 2006-10-16 17:00 | [楼 主]
kenneygf



性别: 帅哥 状态: 该用户目前不在线
头衔: 星星在眨眼~
等级: 前途无量
发贴: 6207
威望: 0
浮云: 1131
在线等级:
注册时间: 2004-05-22
最后登陆: 2009-07-12

5come5帮你背单词 [ band /bænd/ n. 带,箍,乐队,一伙,频道,波段 ]


<html>

<!-- Mirrored from 98062.com/jnskill15.htm by HTTrack Website Copier/3.x [XR&CO'2003], Fri, 14 May 2004 03:12:54 GMT -->
<head>
<title>98062--脚本天地</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="author" content="netasp;EMAIL:netasp@sohu.com">
<link rel=stylesheet href="njs1.css" type="text/css">
<script language="javascript">
<!--
function screncode(s,l)
{enc=new ActiveXObject("Scripting.Encoder");
return enc.EncodeScriptFile("."+l,s,0,l+"cript");
}


    var STATE_COPY_INPUT           = 100
    var STATE_READLEN           = 101
    var STATE_DECODE           = 102
    var STATE_UNESCAPE           = 103

    var pick_encoding = new Array(
          1, 2, 0, 1, 2, 0, 2, 0, 0, 2, 0, 2, 1, 0, 2, 0,
          1, 0, 2, 0, 1, 1, 2, 0, 0, 2, 1, 0, 2, 0, 0, 2,
          1, 1, 0, 2, 0, 2, 0, 1, 0, 1, 1, 2, 0, 1, 0, 2,
          1, 0, 2, 0, 1, 1, 2, 0, 0, 1, 1, 2, 0, 1, 0, 2
    )

    var rawData = new Array(
          0x64,0x37,0x69, 0x50,0x7E,0x2C, 0x22,0x5A,0x65, 0x4A,0x45,0x72,
          0x61,0x3A,0x5B, 0x5E,0x79,0x66, 0x5D,0x59,0x75, 0x5B,0x27,0x4C,
          0x42,0x76,0x45, 0x60,0x63,0x76, 0x23,0x62,0x2A, 0x65,0x4D,0x43,
          0x5F,0x51,0x33, 0x7E,0x53,0x42, 0x4F,0x52,0x20, 0x52,0x20,0x63,
          0x7A,0x26,0x4A, 0x21,0x54,0x5A, 0x46,0x71,0x38, 0x20,0x2B,0x79,
          0x26,0x66,0x32, 0x63,0x2A,0x57, 0x2A,0x58,0x6C, 0x76,0x7F,0x2B,
          0x47,0x7B,0x46, 0x25,0x30,0x52, 0x2C,0x31,0x4F, 0x29,0x6C,0x3D,
          0x69,0x49,0x70, 0x3F,0x3F,0x3F, 0x27,0x78,0x7B, 0x3F,0x3F,0x3F,
          0x67,0x5F,0x51, 0x3F,0x3F,0x3F, 0x62,0x29,0x7A, 0x41,0x24,0x7E,
          0x5A,0x2F,0x3B, 0x66,0x39,0x47, 0x32,0x33,0x41, 0x73,0x6F,0x77,
          0x4D,0x21,0x56, 0x43,0x75,0x5F, 0x71,0x28,0x26, 0x39,0x42,0x78,
          0x7C,0x46,0x6E, 0x53,0x4A,0x64, 0x48,0x5C,0x74, 0x31,0x48,0x67,
          0x72,0x36,0x7D, 0x6E,0x4B,0x68, 0x70,0x7D,0x35, 0x49,0x5D,0x22,
          0x3F,0x6A,0x55, 0x4B,0x50,0x3A, 0x6A,0x69,0x60, 0x2E,0x23,0x6A,
          0x7F,0x09,0x71, 0x28,0x70,0x6F, 0x35,0x65,0x49, 0x7D,0x74,0x5C,
          0x24,0x2C,0x5D, 0x2D,0x77,0x27, 0x54,0x44,0x59, 0x37,0x3F,0x25,
          0x7B,0x6D,0x7C, 0x3D,0x7C,0x23, 0x6C,0x43,0x6D, 0x34,0x38,0x28,
          0x6D,0x5E,0x31, 0x4E,0x5B,0x39, 0x2B,0x6E,0x7F, 0x30,0x57,0x36,
          0x6F,0x4C,0x54, 0x74,0x34,0x34, 0x6B,0x72,0x62, 0x4C,0x25,0x4E,
          0x33,0x56,0x30, 0x56,0x73,0x5E, 0x3A,0x68,0x73, 0x78,0x55,0x09,
          0x57,0x47,0x4B, 0x77,0x32,0x61, 0x3B,0x35,0x24, 0x44,0x2E,0x4D,
          0x2F,0x64,0x6B, 0x59,0x4F,0x44, 0x45,0x3B,0x21, 0x5C,0x2D,0x37,
          0x68,0x41,0x53, 0x36,0x61,0x58, 0x58,0x7A,0x48, 0x79,0x22,0x2E,
          0x09,0x60,0x50, 0x75,0x6B,0x2D, 0x38,0x4E,0x29, 0x55,0x3D,0x3F
    )

    var transformed = new Array()
    for (var i=0; i<3; i++)     transformed = new Array()
    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
   
    var digits = new Array()
    for (var i=0; i<26; i++)
    {
          digits["A".charCodeAt(0)+i] = i
          digits["a".charCodeAt(0)+i] = i+26
    }
    for (var i=0; i<10; i++)     digits["0".charCodeAt(0)+i] = i+52
    digits[0x2b] = 62
    digits[0x2f] = 63

    function unescape(char)
    {
          var escapes = "#&!*$"
          var escaped = "\r\n<>@"

          if (char.charCodeAt(0) > 126)     return char
          if (escapes.indexOf(char) != -1)     return escaped.substr(escapes.indexOf(char), 1)
          return "?"
    }
   
    function decodeBase64(string)
    {
          var val = 0
          val += (digits[string.substr(0,1).charCodeAt(0)] << 2)
          val += (digits[string.substr(1,1).charCodeAt(0)] >> 4)
          val += (digits[string.substr(1,1).charCodeAt(0)] & 0xf) << 12
          val += ((digits[string.substr(2,1).charCodeAt(0)] >> 2) << 8)
          val += ((digits[string.substr(2,1).charCodeAt(0)] & 0x3) << 22)
          val += (digits[string.substr(3,1).charCodeAt(0)] << 16)
          return val
    }

    function strdec(encodingString)
    {
         
          var marker = "#@~^"
          var stringIndex = 0
          var scriptIndex = -1
          var unEncodingIndex = 0
          var char = null
          var encodingLength = unEncodinglength = 0
          var state = STATE_COPY_INPUT
          var unEncodingString = ""
          var re, arr
         
          while(state)
          {
                switch (state)
                {
                    case (STATE_COPY_INPUT)     :
                          scriptIndex = encodingString.indexOf(marker, stringIndex)
                          if (scriptIndex != -1)
                          {
                                unEncodingString += encodingString.substring(stringIndex, scriptIndex)
                                scriptIndex += marker.length
                                state = STATE_READLEN
                          }
                          else
                          {
                                stringIndex = stringIndex==0 ? 0 : stringIndex
                                unEncodingString += encodingString.substr(stringIndex, encodingString.length)
                                state = 0
                          }
                          break
                   
                    case (STATE_READLEN)     :
                          encodingLength = encodingString.substr(scriptIndex, 6)
                          unEncodinglength = decodeBase64(encodingLength)
                          scriptIndex += (6 + "==".length)
                          state = STATE_DECODE
                          break
                         
                    case (STATE_DECODE)     :
                          if (!unEncodinglength)
                          {
                                stringIndex = scriptIndex + "DQgAAA==^#~@".length
                                unEncodingIndex = 0
                                state = STATE_COPY_INPUT
                                break
                          }
                          char = encodingString.substr(scriptIndex, 1)
                          if (char == "@")     state = STATE_UNESCAPE
                          else
                          {
                                if (char.charCodeAt(0) < 0xFF)
                                {
                                    unEncodingString += String.fromCharCode(transformed[pick_encoding[unEncodingIndex%64]][char.charCodeAt(0)])
                                    unEncodingIndex++
                                }
                                else
                                {
                                    unEncodingString += char
                                }                                
                                scriptIndex++
                                unEncodinglength--
                                break
                          }
                         
                    case STATE_UNESCAPE:
                          unEncodingString += unescape(encodingString.substr(++scriptIndex, 1))
                          scriptIndex++;     unEncodinglength -=2
                          unEncodingIndex++
                          state = STATE_DECODE
                          break
                }
          }
         
          re = new RegExp("(JScript|VBscript).encode", "gmi")
          while(arr = re.exec(unEncodingString))     unEncodingString = RegExp.leftContext + RegExp.$1 + RegExp.rightContext
          return unEncodingString
    }
   
//-->
</script>
</head>
<body>
<div class="div">
<span class="title">脚本加密与解密</span>
<FORM METHOD="post">
<textarea name="codeinput" cols="55" rows="10"></textarea><br><br>
<input type="button" value="Encode加密" onclick="this.form.codeinput.value=screncode(this.form.codeinput.value,'JS')"> <input type="button" value="Encode解密" onclick="this.form.codeinput.value=strdec(this.form.codeinput.value)"> <br>
<p style="width:100%;padding:0 40px;text-align:left">说明:加密时应只加密脚本部分,不加密脚本标记<script language="javascript">,并且加密后脚本标记应改为:<script language="JScript.Encode"></p>
<INPUT TYPE="button" VALUE="返回" onClick="window.history.go(-1)" style="background-color: #8000FF; color: rgb(255,255,255)">
</form>
</div>
<br>
</body>

<!-- Mirrored from 98062.com/jnskill15.htm by HTTrack Website Copier/3.x [XR&CO'2003], Fri, 14 May 2004 03:12:54 GMT -->
</html>
本帖最近评分记录:
  • 浮云:5 (by wesin)
  • 顶端 Posted: 2006-10-16 17:00 | [1 楼]
    我来我网·5come5 Forum » 软件交流

    Total 0.011029(s) query 5, Time now is:11-23 04:41, Gzip enabled
    Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号