|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
由于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做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 |
|