ASP编程:ASP中加密与解密对应的函数
帮助用户快速实现各种应用服务,ASP商有整合各方面资源的能力,可在短期内为用户提供所需的解决方案。例如,典型的ERP安装,如果要在客户端安装的话需要半年到二年的时间,但是美国的一些ASP商如USI和CORIO能在90—120天内提供ERP应用方案。函数|加密|解密在ASP中加密办法有对应的解密办法好象未几,如今依据先辈材料收拾出在asp中加密与解密函数rsa.asp
<%
rem在ASP中完成加密与解密,加密办法:依据RSA
rem接洽:hnsoso@sina.com
ClassclsRSA
PublicPrivateKey
PublicPublicKey
PublicModulus
PublicFunctionCrypt(pLngMessage,pLngKey)
OnErrorResumeNext
DimlLngMod
DimlLngResult
DimlLngIndex
IfpLngKeyMod2=0Then
lLngResult=1
ForlLngIndex=1TopLngKey/2
lLngMod=(pLngMessage^2)ModModulus
Modmayerroronkeygeneration
lLngResult=(lLngMod*lLngResult)ModModulus
IfErrThenExitFunction
Next
Else
lLngResult=pLngMessage
ForlLngIndex=1TopLngKey/2
lLngMod=(pLngMessage^2)ModModulus
OnErrorResumeNext
Modmayerroronkeygeneration
lLngResult=(lLngMod*lLngResult)ModModulus
IfErrThenExitFunction
Next
EndIf
Crypt=lLngResult
EndFunction
PublicFunctionEncode(ByValpStrMessage)
DimlLngIndex
DimlLngMaxIndex
DimlBytAscii
DimlLngEncrypted
lLngMaxIndex=Len(pStrMessage)
IflLngMaxIndex=0ThenExitFunction
ForlLngIndex=1TolLngMaxIndex
lBytAscii=Asc(Mid(pStrMessage,lLngIndex,1))
lLngEncrypted=Crypt(lBytAscii,PublicKey)
Encode=Encode&NumberToHex(lLngEncrypted,4)
Next
EndFunction
PublicFunctionDecode(ByValpStrMessage)
DimlBytAscii
DimlLngIndex
DimlLngMaxIndex
DimlLngEncryptedData
Decode=""
lLngMaxIndex=Len(pStrMessage)
ForlLngIndex=1TolLngMaxIndexStep4
lLngEncryptedData=HexToNumber(Mid(pStrMessage,lLngIndex,4))
lBytAscii=Crypt(lLngEncryptedData,PrivateKey)
Decode=Decode&Chr(lBytAscii)
Next
EndFunction
PrivateFunctionNumberToHex(ByRefpLngNumber,ByRefpLngLength)
NumberToHex=Right(String(pLngLength,"0")&Hex(pLngNumber),pLngLength)
EndFunction
PrivateFunctionHexToNumber(ByRefpStrHex)
HexToNumber=CLng("&h"&pStrHex)
EndFunction
EndClass
%>
test.asp
<!--#INCLUDEFILE="RSA.asp"-->
<%
functionEncryptstr(Message)
DimLngKeyE
DimLngKeyD
DimLngKeyN
DimStrMessage
DimObjRSA
LngKeyE="32823"
LngKeyD="20643"
LngKeyN="29893"
StrMessage=Message
SetObjRSA=NewclsRSA
ObjRSA.PublicKey=LngKeyE
ObjRSA.Modulus=LngKeyN
Encryptstr=ObjRSA.Encode(StrMessage)
SetObjRSA=Nothing
endfunction
functiondecryptstr(Message)
DimLngKeyE
DimLngKeyD
DimLngKeyN
DimStrMessage
DimObjRSA
LngKeyE="32823"
LngKeyD="20643"
LngKeyN="29893"
StrMessage=Message
SetObjRSA=NewclsRSA
ObjRSA.PrivateKey=LngKeyD
ObjRSA.Modulus=LngKeyN
decryptstr=ObjRSA.Decode(StrMessage)
SetObjRSA=Nothing
endfunction
dimlast,first
first="sohu"
Response.Write"加密前为:"&first
last=Encryptstr(first)
Response.Write"加密后为"&last
Response.Write"解密后为"&decryptstr(last)
%>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 我想问如何掌握学习节奏(先学什么再学什么)最好详细点? 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 Session:这个存储跟客户端会话过程的数据,默认20分钟失效 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
页:
[1]