用asp寫個簡單的加密和解密的類,在這個類中簡單的實現了一個加密和解密。目的是和大家分享一下。這個類的破解非常簡單。看看我的注釋就知道是怎麼回事了。下次編寫一個java的加密和解密的類。
class Base64Class
rem Const
dim sBASE_64_CHARACTERS轉化碼
dim lenString 計算字串的長度
dim iCount 計數器
dim returnValue 傳回值
dim tempChar緩衝字元
dim tempString緩衝字串
dim paramString 參數字串
dim temHex緩衝緩衝十六進位
dim tempLow緩衝低位
dim tempHigh緩衝高位
dim mod3String
dim mod4String
dim tempBinary
dim tempByteOne
dim tempByteTwo
dim tempByteThree
dim tempByteFour
dim tempSaveBitsOne
dim tempSaveBitsTwo
********************************************
begin初始化類
********************************************
private sub Class_Initialize()
sBASE_64_CHARACTERS=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz09+/endsub
********************************************
end初始化類
********************************************
********************************************
begin銷毀類
********************************************
Private Sub Class_Terminate()
sBASE_64_CHARACTERS= end sub
********************************************
end銷毀類
********************************************
********************************************
begin將Ansi編碼的字串進行Base64編碼
********************************************
public function Encode(paramString)
tempString=
returnValue=
lenString=len(paramString)
if lenString<1 then
Encode=returnValue
else
mod3String=lenString mod 3
補足位元是為了便於計算
if mod3String>0 then
lenString=lenString+3-mod3String
lenString=lenString-3
*************************begin
for iCount=1 to lenString step 3
tempBinary = Mid(paramString, iCount, 3)
response.write tempBinary
tempByteOne= Asc(Mid(tempBinary, 1, 1)): tempSaveBitsOne=tempByteOne And 3
tempByteTwo = Asc(Mid(tempBinary, 2, 1)): tempSaveBitsTwo=tempByteTwo And 15
tempChar = Asc(Mid(tempBinary, 3, 1))
tempByteOne = Mid(sBASE_64_CHARACTERS, ((tempByteOne And 252) 4)+ 1, 1)
tempByteTwo = Mid(sBASE_64_CHARACTERS, (((tempByteTwo And 240)16) Or (tempSaveBitsOne * 16) And &HFF) + 1, 1)
tempByteThree = Mid(sBASE_64_CHARACTERS, (((tempChar And 192)64) Or (tempSaveBitsTwo * 4) And &HFF) + 1, 1)
tempByteFour = Mid(sBASE_64_CHARACTERS, (tempChar And 63) +1,1)
tempString = tempByteOne & tempByteTwo &tempByteThree& tempByteFour returnValue=returnValue &tempStringnext
*************************end
*************************begin處理最後剩餘的幾個字元
if mod3String>0 then
tempBinary = Mid(paramString, iCount, mod3String)
if mod3String=1 then
tempString = tempBinary & Chr(64) & Chr(64) &Chr(64)用@號補足位元
else tempString = tempBinary & Chr(64) &Chr(64)用@號補足位元
end if
returnValue=returnValue & tempString
end if
*************************end處理最後剩餘的幾個字元
Encode=returnValue end if end function
********************************************
end將Ansi編碼的字串進行Base64編碼
********************************************
********************************************
end將Base64編碼字串轉換成Ansi編碼的字串
********************************************
public function Decode(paramString)
tempString=
returnValue=
lenString=len(paramString)
if lenString<1 then
Decode=returnValue
else
mod4String=lenString mod 4
if mod4String >0 then 字串長度應當是4的倍數
Decode=returnValue
else begin判斷是不是@號
if Mid(paramString, lenString-1, 1) = @ then
mod4String=2
end if
if Mid(paramString, lenString-2, 1) = @ then
mod4String=1
end if
end判斷是不是@號
if mod4String>0 then
lenString=lenString-4
******************************begin
for iCount=1 to lenString step 4
tempString = Mid(paramString, iCount, 4)
tempByteOne = InStr(sBASE_64_CHARACTERS, Mid(tempString, 1, 1))-1
tempByteTwo = InStr(sBASE_64_CHARACTERS, Mid(tempString, 2, 1))-1
tempByteThree = InStr(sBASE_64_CHARACTERS, Mid(tempString, 3,1))- 1
tempByteFour = InStr(sBASE_64_CHARACTERS, Mid(tempString, 4, 1))-1
tempByteOne = Chr(((tempByteTwo And 48) 16) Or (tempByteOne *4)And &HFF) tempByteTwo = & Chr(((tempByteThree And 60)4) Or (tempByteTwo * 16) And &HFF)
tempByteThree = Chr((((tempByteThree And 3) * 64) And &HFF)Or(tempByteFour And 63))
tempString=tempByteOne & tempByteTwo & tempByteThree
returnValue=returnValue & tempString
next
******************************end
處理最後剩餘的幾個字元
if mod4String > 0 then
tempString=center(center(paramString,4),mod4String)
returnValue = returnValue & tempString
end if
Decode=returnValue
end if
end if
end function
********************************************
end將Base64編碼字串轉換成Ansi編碼的字串
********************************************
作者:CSDN pxjianke