ASP编程:在asp中经由过程vbs类完成rsa加密与解密
由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。加密|解密本文章有两文件构成test.asp测试演示文件
clsrsa.asp完成rsa加密与解密的vbs类文件
上面是代码:
1.test.asp
<%
rem文章题目:在asp中经由过程vbs类完成rsa加密与解密
rem搜集收拾:yanek
rem接洽:aspboy@263.net
%>
<%OptionExplicit%>
<!--#INCLUDEFILE="clsRSA.asp"-->
<%
DimLngKeyE
DimLngKeyD
DimLngKeyN
DimStrMessage
DimObjRSA
IfNotRequest.Form=""Then
LngKeyE=Request.Form("KeyE")
LngKeyD=Request.Form("KeyD")
LngKeyN=Request.Form("KeyN")
StrMessage=Request.Form("Message")
SetObjRSA=NewclsRSA
SelectCaseRequest.Form("Action")
Case"GenerateKeys"
CallObjRSA.GenKey()
LngKeyE=ObjRSA.PublicKey
LngKeyD=ObjRSA.PrivateKey
LngKeyN=ObjRSA.Modulus
Case"Encrypt"
ObjRSA.PublicKey=LngKeyE
ObjRSA.Modulus=LngKeyN
StrMessage=ObjRSA.Encode(StrMessage)
Case"Decrypt"
ObjRSA.PrivateKey=LngKeyD
ObjRSA.Modulus=LngKeyN
StrMessage=ObjRSA.Decode(StrMessage)
EndSelect
SetObjRSA=Nothing
EndIf
%>
<HTML>
<HEAD>
<TITLE>RSACipherDemonstration</TITLE>
</HEAD>
<BODY>
<H1>RSACipherDemonstration</H1>
<P>
Youwillfirstneedtogenerateyourpublic/privagekey-pair
beforeyoucanencrypt/decryptmessages.
</P>
<FORMmethod="post">
<TABLE>
<TR>
<TD>PublicKey</TD>
<TD><INPUTname="KeyE"value="<%=Server.HTMLEncode(LngKeyE)%>"></TD>
<TDrowspan="3">
<INPUTtype="Submit"name="Action"value="GenerateKeys">
</TD>
</TR>
<TR>
<TD>PrivateKey</TD>
<TD><INPUTname="KeyD"value="<%=Server.HTMLEncode(LngKeyD)%>"></TD>
</TR>
<TR>
<TD>Modulus</TD>
<TD><INPUTname="KeyN"value="<%=Server.HTMLEncode(LngKeyN)%>"></TD>
</TR>
<TR>
<TDcolspan="3">
TestMessage:<BR>
<TEXTAREAname="Message"cols="50"rows="7"><%=Server.HTMLEncode(StrMessage)%></TEXTAREA>
</TD>
</TR>
<TR>
<TDalign="right"colspan="3">
<INPUTtype="Submit"name="Action"value="Encrypt">
<INPUTtype="Submit"name="Action"value="Decrypt">
</TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
clsrsa.asp
<%
rem完成rsa加密与解密的vbs类文件
rem文章题目:在asp中经由过程vbs类完成rsa加密与解密
rem搜集收拾:yanek
rem接洽:aspboy@263.net
RSAEncryptionClass
.PrivateKey
Yourpersonalprivatekey.Keepthishidden.
.PublicKey
Keyforotherstoencryptdatawith.
.Modulus
Usedwithbothpublicandprivatekeyswhenencrypting
anddecryptingdata.
.GenKey()
CreatesPublic/PrivatekeysetandModulus
.Crypt(pLngMessage,pLngKey)
Encrypts/Decryptsmessageandreturns
asastring.
.Encode(pStrMessage)
Encryptsmessageandreturnsindouble-hexformat
.Decode(pStrMessage)
Decryptsmessagefromdouble-hexformatandreturnsastring
ClassclsRSA
PublicPrivateKey
PublicPublicKey
PublicModulus
PublicSubGenKey()
DimlLngPhi
Dimq
Dimp
Randomize
Do
Do
2randomprimarynumbers(0to1000)
Do
p=Rnd*10001
LoopWhileNotIsPrime(p)
Do
q=Rnd*10001
LoopWhileNotIsPrime(q)
n=productof2primes
Modulus=p*q1
randomdecryptor(2ton)
PrivateKey=Rnd*(Modulus-2)1+2
lLngPhi=(p-1)*(q-1)1
PublicKey=Euler(lLngPhi,PrivateKey)
LoopWhilePublicKey=0OrPublicKey=1
Loopifwecantcrypt/decryptabyte
LoopWhileNotTestCrypt(255)
EndSub
PrivateFunctionTestCry</p>在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 那么,ASP.Net有哪些改进呢? 从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
页:
[1]