ASP代碼一般是明文,很少有加密的,MS有個工具Script Encoder可以加密,這個東東可以微軟官方網站免費下載,而且還有詳細使用說明,但是經過它加密後的檔案會有<%@ language = vbscript.encode %>,管理員看到這句話就知道這個asp檔案被加密了。而且也有相關的解密檔案。
本文提供一種簡單的方法,可以加密ASP代碼,主要思路是將代碼做些運算,比如將全部代碼移動一位,基本上就算加密了,主要的加解密函數如下:
function UnEncode(temp)
but=1
for i =1 to len(temp)
if mid(temp,i,1)<>"湯" then
pk=asc(mid(temp,i,1))-but
if pk>126 then
pk=pk-95
elseif pk<32 then
pk=pk+95
end if
a=a&chr(pk)
else
a=a&vbcrlf
end if
next
UnEncode=a
end function
function Encode(temp)
but=1
cc=replace(temp,vbcrlf,"湯")
for i= 1 to len(cc)
if mid(cc,i,1)<>"湯" then
pk=asc(mid(cc,i,1))+but
if pk>126 then
pk=pk-95
elseif pk<32 then
pk=pk+95
end if
a=a&chr(pk)
else
a=a&"湯"
end if
next
a=replace(a,"""","""""")
Encode=a
end function
在開發的時候,通常將關鍵ASP代碼Encode,再使用Excute(Uncode(ipaddr))執行就可以了。這樣管理員一般不能直接看到關鍵代碼,一般在程式裡不要帶上Encode函數,只在開發的時候使用,此外,UnEncode也可以改成其它函數名。
這種方式加密比較簡單,解密也很容易。