我是靠谱客的博主 暴躁网络,最近开发中收集的这篇文章主要介绍易语言实现-JScript.Encode加密解密(一),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

首先先看源码 我这里有两种

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>JScript.Encode加密解密</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK 
href="JScript.Encode脚本加密与解密_files/css.css" type=text/css rel=stylesheet>
<META 
content=Encode加密解密,encode在线加密解密,jscript.encode解密,jscript.encode加密,网页加密解密,脚本加密与解密 
name=keywords>
<META content="MSHTML 6.00.3790.2577" name=GENERATOR></HEAD>
<BODY leftMargin=0 topMargin=0>
<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[i] = 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 = "rn<>@"

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>

<TABLE cellSpacing=0 cellPadding=0 width=760 align=center border=0>
   <TBODY>
   <TR>
     <TD>
     </TD></TR></TBODY></TABLE>
<DIV align=center>
<H2><B>JScript.Encode脚本加密与解密</B> </H2></DIV>
<TABLE cellSpacing=0 cellPadding=0 width=760 align=center border=0>
   <TBODY>
   <TR>
     <TD vAlign=top>
       <P></P>
       <TABLE cellSpacing=0 cellPadding=0 width=778 align=center border=0>
         <TBODY>
         <TR>
           <TD>
             <DIV class=div>
             <DIV align=center>
             <P 
             style="PADDING-RIGHT: 40px; PADDING-LEFT: 40px; PADDING-BOTTOM: 0px; WIDTH: 100%; COLOR: #666666; PADDING-TOP: 0px" 
             align=left> 
               <FONT 
             color=#ff0000>解密方法</FONT>:将引号内的乱码贴入按解密即可</P></DIV>
             <FORM method=post>
             <P align=center><TEXTAREA style="BORDER-RIGHT: #ffffff 2px solid; BORDER-TOP: #ffffff 2px solid; FONT-SIZE: 14px;

BACKGROUND: #cccccc; BORDER-LEFT: #ffffff 2px solid; WIDTH: 590px; BORDER-BOTTOM: #ffffff 2px solid; HEIGHT: 320px" name=codeinput rows=10 cols=55></TEXTAREA> 
             <BR><BR><INPUT style="BORDER-RIGHT: #ff6600 2px solid; BORDER-TOP: #ffffff 2px solid; FONT-SIZE: 14px; BACKGROUND: #ffcc00;

BORDER-LEFT: #ffffff 2px solid; WIDTH: 80px; BORDER-BOTTOM: #ff6600 2px solid; HEIGHT: 22px" οnclick="this.form.codeinput.value=screncode(this.form.codeinput.value,'JS')"

type=button value=Encode加密 name=button> 
<INPUT style="BORDER-RIGHT: #339999 2px solid; BORDER-TOP: #ffffff 2px solid; FONT-SIZE: 14px; BACKGROUND: #66b800;

BORDER-LEFT: #ffffff 2px solid; WIDTH: 80px;

BORDER-BOTTOM: #339999 2px solid; HEIGHT: 22px" οnclick=this.form.codeinput.value=strdec(this.form.codeinput.value) type=button

value=Encode解密 name=button> 
             <BR></P>
             <P 
             style="PADDING-RIGHT: 40px; PADDING-LEFT: 40px; PADDING-BOTTOM: 0px; WIDTH: 100%; COLOR: #666666; PADDING-TOP: 0px; TEXT-ALIGN: center">

说明:加密时应只加密脚本部分,不加密脚本标记&lt;script 
             language="javascript"&gt;,并且加密后脚本标记应改为:<BR>&lt;script 
             language="JScript.Encode"&gt;</P>
             <P 
             style="PADDING-RIGHT: 40px; PADDING-LEFT: 40px; PADDING-BOTTOM: 0px; WIDTH: 100%; COLOR: #666666; PADDING-TOP: 0px; TEXT-ALIGN: left">

注意:此页为jscript.encode解密以及jscript.encode加密或者称之为encode加密解密、encode在线加密解密 
             如果你遇到这些关键词的问题此网页相信能帮助你,<FONT color="red">         

<B>如果你的问题是unescape加密解密,请在我的blog上查找escape解密</B>

unescape加密解密</FONT></A> 
</P></FORM></DIV></TD></TR></TBODY></TABLE>
       <P></P></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=760 align=center border=0>
   <TBODY>
   <TR>
     <TD>
       <DIV align=center>
       </DIV></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=760 align=center border=0>
   <TBODY>
   <TR>
     <TD>
       <DIV align=center><FONT color=#222222 size=4>
       </FONT></DIV></TD></TR></TBODY></TABLE></BODY></HTML>

最后

以上就是暴躁网络为你收集整理的易语言实现-JScript.Encode加密解密(一)的全部内容,希望文章能够帮你解决易语言实现-JScript.Encode加密解密(一)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部