|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 用asp写个复杂的加密息争密的类,在这个类中复杂的完成了一个加密息争密。目标是和人人分享一下。这个类的破解十分复杂。看看我的正文就晓得是怎样回事了。下次编写一个java的加密息争密的类。
classBase64Class
remConst
dimsBASE_64_CHARACTERS转化码
dimlenString盘算字符串的长度
dimiCount计数器
dimreturnValue前往值
dimtempChar缓存字符
dimtempString缓存字符串
dimparamString参数字符串
dimtemHex缓存缓存十六进制
dimtempLow缓存低位
dimtempHigh缓存高位
dimmod3String
dimmod4String
dimtempBinary
dimtempByteOne
dimtempByteTwo
dimtempByteThree
dimtempByteFour
dimtempSaveBitsOne
dimtempSaveBitsTwo
********************************************
begin初始化类
********************************************
privatesubClass_Initialize()
sBASE_64_CHARACTERS=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz09+/endsub
********************************************
end初始化类
********************************************
********************************************
begin烧毁类
********************************************
PrivateSubClass_Terminate()
sBASE_64_CHARACTERS=endsub
********************************************
end烧毁类
********************************************
********************************************
begin将Ansi编码的字符串举行Base64编码
********************************************
publicfunctionEncode(paramString)
tempString=
returnValue=
lenString=len(paramString)
iflenString<1then
Encode=returnValue
else
mod3String=lenStringmod3
补足位数是为了便于盘算
ifmod3String>0then
lenString=lenString+3-mod3String
lenString=lenString-3
*************************begin
foriCount=1tolenStringstep3
tempBinary=Mid(paramString,iCount,3)
response.writetempBinary
tempByteOne=Asc(Mid(tempBinary,1,1)):tempSaveBitsOne=tempByteOneAnd3
tempByteTwo=Asc(Mid(tempBinary,2,1)):tempSaveBitsTwo=tempByteTwoAnd15
tempChar=Asc(Mid(tempBinary,3,1))
tempByteOne=Mid(sBASE_64_CHARACTERS,((tempByteOneAnd252)4)+1,1)
tempByteTwo=Mid(sBASE_64_CHARACTERS,(((tempByteTwoAnd240)16)Or(tempSaveBitsOne*16)And&HFF)+1,1)
tempByteThree=Mid(sBASE_64_CHARACTERS,(((tempCharAnd192)64)Or(tempSaveBitsTwo*4)And&HFF)+1,1)
tempByteFour=Mid(sBASE_64_CHARACTERS,(tempCharAnd63)+1,1)
tempString=tempByteOne&tempByteTwo&tempByteThree&tempByteFourreturnValue=returnValue&tempStringnext
*************************end
*************************begin处置最初残剩的几个字符
ifmod3String>0then
tempBinary=Mid(paramString,iCount,mod3String)
ifmod3String=1then
tempString=tempBinary&Chr(64)&Chr(64)&Chr(64)用@号补足位数
elsetempString=tempBinary&Chr(64)&Chr(64)用@号补足位数
endif
returnValue=returnValue&tempString
endif
*************************end处置最初残剩的几个字符
Encode=returnValueendifendfunction
********************************************
end将Ansi编码的字符串举行Base64编码
********************************************
********************************************
end将Base64编码字符串转换成Ansi编码的字符串
********************************************
publicfunctionDecode(paramString)
tempString=
returnValue=
lenString=len(paramString)
iflenString<1then
Decode=returnValue
else
mod4String=lenStringmod4
ifmod4String>0then字符串长度应该是4的倍数
Decode=returnValue
elsebegin判别是否是@号
ifMid(paramString,lenString-1,1)=@then
mod4String=2
endif
ifMid(paramString,lenString-2,1)=@then
mod4String=1
endif
end判别是否是@号
ifmod4String>0then
lenString=lenString-4
******************************begin
foriCount=1tolenStringstep4
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(((tempByteTwoAnd48)16)Or(tempByteOne*4)And&HFF)tempByteTwo=&Chr(((tempByteThreeAnd60)4)Or(tempByteTwo*16)And&HFF)
tempByteThree=Chr((((tempByteThreeAnd3)*64)And&HFF)Or(tempByteFourAnd63))
tempString=tempByteOne&tempByteTwo&tempByteThree
returnValue=returnValue&tempString
next
******************************end
处置最初残剩的几个字符
ifmod4String>0then
tempString=center(center(paramString,4),mod4String)
returnValue=returnValue&tempString
endif
Decode=returnValue
endif
endif
endfunction
********************************************
end将Base64编码字符串转换成Ansi编码的字符串
********************************************
CSDNpxjianke
写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们) |
|