用asp寫個簡單的加密和解密的類
在這個類中簡單的實現了一個加密和解密
目的是和大家分享一下
這個類的破解非常簡單
看看我的注釋就知道是怎麼回事了
下次編寫一個java的加密和解密的類
class Base
Class
rem Const
dim sBASE_
_CHARACTERS
轉化碼
dim lenString
計算字符串的長度
dim iCount
計數器
dim returnValue
返回值
dim tempChar
緩存字符
dim tempString
緩存字符串
dim paramString
參數字符串
dim temHex
緩存緩存十六進制
dim tempLow
緩存低位
dim tempHigh
緩存高位
dim mod
String
dim mod
String
dim tempBinary
dim tempByteOne
dim tempByteTwo
dim tempByteThree
dim tempByteFour
dim tempSaveBitsOne
dim tempSaveBitsTwo
********************************************
begin初始化類
********************************************
private sub Class_Initialize()
sBASE_
_CHARACTERS =
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+/
end sub
********************************************
end初始化類
********************************************
********************************************
begin銷毀類
********************************************
Private Sub Class_Terminate()
sBASE_
_CHARACTERS=
end sub
********************************************
end銷毀類
********************************************
********************************************
begin將Ansi編碼的字符串進行Base
編碼
********************************************
public function Encode(paramString)
tempString=
returnValue=
lenString=len(paramString)
if lenString<
then
Encode=returnValue
else
mod
String=lenString mod
補足位數是為了便於計算
if mod
String>
then
lenString=lenString+
mod
String
lenString=lenString
end if
*************************begin
for iCount=
to lenString step
tempBinary = Mid(paramString
iCount
)
response
write tempBinary
tempByteOne= Asc(Mid(tempBinary
)): tempSaveBitsOne = tempByteOne And
tempByteTwo = Asc(Mid(tempBinary
)): tempSaveBitsTwo = tempByteTwo And
tempChar = Asc(Mid(tempBinary
))
tempByteOne = Mid(sBASE_
_CHARACTERS
((tempByteOne And
) \
) +
)
tempByteTwo = Mid(sBASE_
_CHARACTERS
(((tempByteTwo And
) \
) Or (tempSaveBitsOne *
) And &HFF) +
)
tempByteThree = Mid(sBASE_
_CHARACTERS
(((tempChar And
) \
) Or (tempSaveBitsTwo *
) And &HFF) +
)
tempByteFour = Mid(sBASE_
_CHARACTERS
(tempChar And
) +
)
tempString = tempByteOne & tempByteTwo & tempByteThree & tempByteFour returnValue=returnValue & tempString next
*************************end
*************************begin處理最後剩余的幾個字符
if mod
String>
then
tempBinary = Mid(paramString
iCount
mod
String)
if mod
String=
then
tempString = tempBinary & Chr(
) & Chr(
) & Chr(
)
用@號補足位數
else tempString = tempBinary & Chr(
) & Chr(
)
用@號補足位數
end if
returnValue=returnValue & tempString
end if
*************************end處理最後剩余的幾個字符
Encode=returnValue end if end function
********************************************
end將Ansi編碼的字符串進行Base
編碼
********************************************
********************************************
end將Base
編碼字符串轉換成Ansi編碼的字符串
********************************************
public function Decode(paramString)
tempString=
returnValue=
lenString=len(paramString)
if lenString<
then
Decode=returnValue
else
mod
String=lenString mod
if mod
String >
then
字符串長度應當是
的倍數
Decode=returnValue
else
begin判斷是不是@號
if Mid(paramString
lenString
) =
@
then
mod
String=
end if
if Mid(paramString
lenString
) =
@
then
mod
String=
end if
end判斷是不是@號
if mod
String>
then
lenString=lenString
end if
******************************begin
for iCount=
to lenString step
tempString = Mid(paramString
iCount
)
tempByteOne = InStr(sBASE_
_CHARACTERS
Mid(tempString
))
tempByteTwo = InStr(sBASE_
_CHARACTERS
Mid(tempString
))
tempByteThree = InStr(sBASE_
_CHARACTERS
Mid(tempString
))
tempByteFour = InStr(sBASE_
_CHARACTERS
Mid(tempString
))
tempByteOne = Chr(((tempByteTwo And
) \
) Or (tempByteOne *
) And &HFF) tempByteTwo =
& Chr(((tempByteThree And
) \
) Or (tempByteTwo *
) And &HFF)
tempByteThree = Chr((((tempByteThree And
) *
) And &HFF) Or (tempByteFour And
))
tempString=tempByteOne & tempByteTwo & tempByteThree
returnValue=returnValue & tempString
next
******************************end
處理最後剩余的幾個字符
if mod
String >
then
tempString=left(right(paramString
)
mod
String)
returnValue = returnValue & tempString
end if
Decode=returnValue
end if
end if
end function
********************************************
end將Base
編碼字符串轉換成Ansi編碼的字符串
********************************************
end class
From:http://tw.wingwit.com/Article/program/net/201311/12110.html