豹子 2007-6-23 10:30
在asp中通过vbs类实现rsa加密与解密
本文章有两文件组成
"FK`?_ Maa2^!E
test.asp 测试演示文件
^A3k]DVK
clsrsa.asp 实现rsa加密与解密的vbs类文件QL^.{
H0\mZg
下面是代码:
NM-}Cu*C
T
5F.obr;P&p%j_.[@
!v[+D7}lkP6i6x
3bE?
C$U/Af
H
1. test.asp -d1U!`#H
W3x!M
;nVB
T1G
X0X
% vr#V%K5WG,a&_Ld
rem 文章标题:在asp中通过vbs类实现rsa加密与解密"Ik)aW0Q;B
rem 收集整理:yanek
g"[5s:X
|,po@b }
rem 联系:aspboy@263.net
8vvjU%I4Kb1n
~?z.w8y5V3x5b?@p
%
};~?![y_
%Option Explicit%
:fS QU8L
Xb!~'^]'o
!--#INCLUDE FILE="clsRSA.asp"--Fw7i.C{)U[&~
`+~9v
% nkqd-CLR&W
mu.{ o+PB
Dim LngKeyE
^}8doE@
Dim LngKeyD
YyX3jA|C5D
Dim LngKeyN
\#KnD6W&J%v-ccF
Dim StrMessageM$A`:VKD%[V a
Dim ObjRSAr9i2^I;b*Q8wr
If Not Request.Form = "" Then
P/L3BK*\E3}M
!Pw
C[`(I
LngKeyE = Request.Form("KeyE")
m}
cW$`T2I t
LngKeyD = Request.Form("KeyD")
d5W'w.F8`%Epu|
LngKeyN = Request.Form("KeyN")
y-s:Y3ca]
StrMessage = Request.Form("Message")
;Q$g&b#H+g,Mk
(o*Zj*L0pKwxSv
Set ObjRSA = New clsRSA9?F U%C-C.~
T.X`%BE*Ok*o
Select Case Request.Form("Action")
w{[2bG%ywg-E
Case "Generate Keys"
STa$d.J6]X
Call ObjRSA.GenKey() I7C\-I@q
LngKeyE = ObjRSA.PublicKey
o4m;N)lK M zr9B
LngKeyD = ObjRSA.PrivateKey&f#v,GC!T&q:K s
LngKeyN = ObjRSA.Modulus#^/a'Y8ZIq
Case "Encrypt"
Y3wDTjW%P
ObjRSA.PublicKey = LngKeyE.\.?#x*L&D"S9LnV1`y
ObjRSA.Modulus = LngKeyN
*D-mea:xg
uH
StrMessage = ObjRSA.Encode(StrMessage)
)t/d4z$Mwo
Case "Decrypt"u{(U3Q-P+P$E"`
ObjRSA.PrivateKey = LngKeyD(B!t s4]J+d+j
ObjRSA.Modulus = LngKeyN
fjvaBm s6P
StrMessage = ObjRSA.Decode(StrMessage)4tKv~B%_
End Select
R`/L"bP
d3mbcA!mq
Set ObjRSA = Nothing"^*HV'S/Hd7l
E0v0As[U&T
],^
End If
I v7@\-V!{
%)|;nL#kg9Iu
HTMLP s0}Y|
q
HEADKF1Z@ U,v;b
I
TITLERSA Cipher Demonstration/TITLE
aI1Kh zG NN
/HEAD
|
[n)I D3g-A*CO^h7N
BODYz(C(cKU)p
H1RSA Cipher Demonstration/H1
Y7zo.c H0d'k
PA[Uw6m
You will first need to generate your public/privage key-pair
N/w p+d/i![+\$Q'Z
before you can encrypt/decrypt messages.
|(|``D9Dv.E
/P
/ou#c6lTq
FORM method="post"
4w'@ l
}CgR HI5O
TABLEog&chiu } Z:B
TR
w{ uL0t,PGBM3^
TDPublic Key/TD"o#q-Ce7d S4Z#ZH!B
TDINPUT name="KeyE" value="%=Server.HTMLEncode(LngKeyE)%"/TDB@ x1Z:P
BVSZ
TD rowspan="3"
n:egpT/xg#BFa
INPUT type="Submit" name="Action" value="Generate Keys"
Fg)AAE"}T
/TD]0y~6_0y
q"`snE
/TR