javascript函数已经有了,有没有Asp的函数???
或者有没有高手可以把下面的写成asp的 ,万分感谢~!!
<script> <BR> <!-- <BR> 函数 toEncode(s,l) <BR> {enc=new ActiveXObject("Scripting.Encoder"); <BR> return enc.EncodeScriptFile("." l,s,0,l "cript"); <BR> } <br><br> <BR> var STATE_COPY_INPUT = 100 <BR> var STATE_READLEN = 101 <BR> var STATE_DECODE = 102 <BR> var STATE_UNESCAPE = 103 <br><br> 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> ) <br><br> 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> ) <br><br> var 转换 = 新 数组() <BR> for (var i=0; i<3; i ) 转换[i] = 新 Array() <BR> for (var i=31; i<=126; i ) for (var j= 0 ; j<3; j ) 转换[j][rawData[(i-31) * 3 j]] = (i==31) ? 9 : i <br><br> var 数字 = new Array() <BR> for (var i=0; i<26; i ) <BR> { <BR> 数字["A".charCode在 (0) 我] = 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> 数字[0x2b] = 62 <BR> 数字[0x2f] = 63 <br><br> 函数 unescape(char) <BR> { <BR> var 转义 = “#&!* $" <BR> var 转义 = “rn<>@” <br><br> if (char.charCodeAt(0) > 126) return char <BR> if (escapes.indexOf(char) != -1 ) return escaped.substr(escapes.indexOf(char), 1) <BR> return "?" <BR> } <br><br> 函数 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> 返回val <BR> } <br><br> 函数 tranEncode(encodingString) <BR> { <br><br> var 标记 = "#@~^" <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><br> while(state) <BR> { <BR> 开关 (状态) <BR> { <BR> case (STATE_COPY_INPUT) : <BR> scriptIndex = encodingString.indexOf(marker, stringIndex) <BR> 如果 (scriptIndex != - 1) <BR> { <BR> unEncodingString = encodingString.substring(stringIndex, scriptIndex) <BR> scriptIndex = marker.length <BR> state = STATE_READLEN <BR> } <BR> 其他 <BR> { <BR> stringIndex = stringIndex==0 ? 0 : stringIndex <BR> unEncodingString = encodingString.substr(stringIndex, encodingString.length) <BR> state = 0 <BR> } <BR> break <br><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><br> case (STATE_DECODE) : <BR> if (!unEncodinglength) <BR> { <BR> stringIndex = scriptIndex “DQgAAA==^#~@”。长度 <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> { <BR> if (char.charCodeAt(0) < 0xFF) <BR> { <BR> unEncodingString = String.fromCharCode(transformed[pick_encoding[uncodingIndexd]][char.char代码在(0)] ) <BR> unEncodingIndex <BR> } <BR> else <BR> { <BR> unEncodingString = char <BR> } <BR> scriptIndex <BR> unEncodinglength-- <BR> break <BR> } <br><br> case STATE_UNESCAPE: <BR> unEncodingString = unescape(encodingString.substr( scriptIndex, 1)) <BR> scriptIndex ; unEncodinglength -=2 <BR> unEncodingIndex <BR> state = STATE_DECODE <BR> break <BR> } <BR> } <br><br> re = 新 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>
asp不等于vbs,只是一个框架
你在script里加个runat="server"然后直接调用这个函数就可以了