ASP代码一般是明文,很少有加密的,MS有个工具ScriptEncoder可以加密,这个东东可以微软官方网站免费下载,而且还有详细使用说明,但是经过它加密后的文件会有<%@language=vbscript.encode%>,管理员看到这句话就知道这个asp文件被加密了。而且也有相关的解密文件。
本文提供一种简单的方法,可以加密ASP代码,主要思路是将代码做些运算,比如将全部代码移动一位,基本上就算加密了,主要的加解密函数如下:
functionUnEncode(temp)
but=1
fori=1tolen(temp)
ifmid(temp,i,1)<>"汤"then
pk=asc(mid(temp,i,1))-but
ifpk>126then
pk=pk-95
elseifpk<32then
pk=pk+95
endif
a=a&chr(pk)
else
a=a&vbcrlf
endif
next
UnEncode=a
endfunction
functionEncode(temp)
but=1
cc=replace(temp,vbcrlf,"汤")
fori=1tolen(cc)
ifmid(cc,i,1)<>"汤"then
pk=asc(mid(cc,i,1))+but
ifpk>126then
pk=pk-95
elseifpk<32then
pk=pk+95
endif
a=a&chr(pk)
else
a=a&"汤"
endif
next
a=replace(a,"""","""""")
Encode=a
endfunction
在开发的时候,通常将关键ASP代码Encode,再使用Excute(Uncode(ipaddr))执行就可以了。这样管理员一般不能直接看到关键代码,一般在程序里不要带上Encode函数,只在开发的时候使用,此外,UnEncode也可以改成其它函数名。
这种方式加密比较简单,解密也很容易。