标题:
[原创文章]
ASP编写的加密和解密类
[打印本页]
作者:
拓海之舟
时间:
2010-11-6 17:24
标题:
ASP编写的加密和解密类
class Base64Class
9 m( n0 H% d/ F/ M/ J
rem Const
2 \) D8 T9 h$ o7 p0 A( H
dim sBASE_64_CHARACTERS'转化码
+ q" \0 n. |0 P) K
dim lenString '计算字符串的长度
% Y1 o% T C9 C( V# g# g i
dim iCount '计数器
7 L2 v$ I r5 F" w# {, E5 w
dim returnValue '返回值
5 |7 Z7 a) J' u( N# l9 h
dim tempChar'缓存字符
. _- W' V( a ?; H6 n F
dim tempString'缓存字符串
3 ^/ a- L+ O! k* o( E& P2 t
dim paramString '参数字符串
& F3 v* k; W) R/ S' \ T* {; ]
dim temHex'缓存缓存十六进制
" S0 ?6 o1 k, p' l+ V) r* } n: {
dim tempLow'缓存低位
' M/ ?! h& T/ e% `% ~
dim tempHigh'缓存高位
; Q8 r, u0 V7 @* P) r$ V3 r
dim mod3String'
# Y5 ^4 b% J2 m5 w; U. v( n* W
dim mod4String'
8 d/ O2 s: t2 W
dim tempBinary'
6 C+ L2 d% Q5 r% \; W1 C- i/ l
dim tempByteOne'
1 N' a4 S- n& \4 U" j+ u; d+ ?
dim tempByteTwo'
0 K1 _7 O' y7 U4 W
dim tempByteThree'
- l6 ^% F* l) Z. g1 P
dim tempByteFour'
& Z9 d, v0 M/ ]. G
dim tempSaveBitsOne'
# X7 X% a0 F& j6 ]$ C
dim tempSaveBitsTwo'
& @) k. W2 N, e
'********************************************
: y6 k; z, E% V7 c) I8 q
'begin初始化类
- V8 ~8 O7 W: @4 h
'********************************************
+ `7 p+ }3 D M3 U& L+ {
private sub Class_Initialize()
& d8 Z4 w/ G& P, y, H T" U
sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
( S" \3 r1 Z. {% p
'********************************************
1 n# s% U5 x' J U) m: f
'end初始化类 '
+ Q% ^6 S: V8 n+ S
********************************************
; t0 G, f; u- ~5 {4 ]( V+ P5 G
'********************************************
: b+ Q( S& e! [9 w& a
'begin销毁类
" Y) ]2 M0 R& Q/ G* g
'********************************************
0 \9 _" g; X" G% {
Private Sub Class_Terminate()
4 m$ O6 }, ^. { J9 `, W
sBASE_64_CHARACTERS="" end sub
5 _' i* O! D. V9 H/ ?% [7 B
'********************************************
]% V8 K6 V5 }
'end销毁类
+ k# J5 P# f0 A) S- Z
'********************************************
( A8 M+ p1 R& X5 Z' K4 @; R! ?9 j
'********************************************
; x& }& X1 w% m3 i8 E5 ^ e
'begin将Ansi编码的字符串进行Base64编码
4 ]& R5 U# c' d( A' V! g; p
'********************************************
+ Q0 B# ?9 q& M; d9 P- J
public function Encode(paramString)
, Q5 [) r) ]& h6 |* Y5 N
tempString=""
8 e8 l/ r9 d- x- ~
returnValue=""
6 ?* z0 n, I* r' @& h: O2 W ?
lenString=len(paramString)
# v) `6 _: a1 J- `* g7 f, i2 Z
if lenString<1 then
$ n: q6 B" r9 K6 ~7 W
Encode=returnValue
' X! ~& I. V1 X, \: a
else
k& ?$ v% W1 `" n* C! ]6 n
mod3String=lenString mod 3
, U) n% v( C9 \+ {4 `9 i* x, X& B3 J, \
'补足位数是为了便于计算
. a4 x( l+ c& T9 G* h0 Z
if mod3String>0 then
1 L4 M# M. V7 h+ P2 T! Y
lenString=lenString+3-mod3String
4 X H, D4 n6 j$ _5 o
lenString=lenString-3
7 `- m9 P! |$ d6 ^" R1 X
end if
欢迎光临 【3.A.S.T】网络安全爱好者 (http://www.3ast.com/)
Powered by Discuz! 7.2