标题:
[原创文章]
ASP编写的加密和解密类
[打印本页]
作者:
拓海之舟
时间:
2010-11-6 17:24
标题:
ASP编写的加密和解密类
class Base64Class
, M$ _& b/ l j" q# _7 L
rem Const
/ z7 y; j7 Z0 a% @
dim sBASE_64_CHARACTERS'转化码
; g% u3 c4 T8 k8 C( ? E5 @
dim lenString '计算字符串的长度
& g7 j% p7 M" e, c' |( c
dim iCount '计数器
2 E: }) r3 `* E2 A) A
dim returnValue '返回值
* I; e) W/ A2 A9 h/ G. h
dim tempChar'缓存字符
- I. V& d$ u& c. e! X, q
dim tempString'缓存字符串
$ b/ \3 D$ r; B3 t/ F/ h5 Y* _
dim paramString '参数字符串
- z! c1 B; {/ J+ V
dim temHex'缓存缓存十六进制
$ f; N3 Y/ S+ t+ m% P8 i& N1 d' H
dim tempLow'缓存低位
( A% B4 t$ O* ~
dim tempHigh'缓存高位
0 w. `( e+ M- Z) n* S
dim mod3String'
0 t- D$ s5 a" C. M( K0 l
dim mod4String'
3 v v( s. ^6 L4 ~! D
dim tempBinary'
5 C9 ~" K4 r5 l6 G) v4 Y
dim tempByteOne'
6 H+ D& T3 |* i
dim tempByteTwo'
6 P6 ~: @8 X* b
dim tempByteThree'
6 z' O' M' o8 C
dim tempByteFour'
( y+ b* V$ a3 {7 b- C, R2 [+ e
dim tempSaveBitsOne'
, l8 k0 E( T; G7 ~1 D; |8 X1 V
dim tempSaveBitsTwo'
6 o7 o& u4 q2 i/ E( C
'********************************************
( @8 v7 m! V& z
'begin初始化类
: F4 L4 `6 {" Y H+ t
'********************************************
9 K8 Y# F0 w) o8 b! }
private sub Class_Initialize()
; G$ ?9 Q& i6 L! `9 U m5 U
sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
9 C- j& e- S! k& y4 D$ I+ J* r2 ^
'********************************************
; H, x* N& z+ \: K) e& c$ l* }$ T
'end初始化类 '
, G3 O, a; s# N& r
********************************************
% U9 k+ P; Q1 [2 G0 R
'********************************************
6 h1 e$ y% X0 _ _( b9 w
'begin销毁类
$ ]) B" ^( p- X4 v7 `0 H
'********************************************
% k5 c( v+ C/ q- p0 l. k' @2 Y. ]
Private Sub Class_Terminate()
# {9 b6 k2 i7 ]1 }
sBASE_64_CHARACTERS="" end sub
1 L1 L$ D& \4 [1 J. f! w! p2 V
'********************************************
, o7 f! \! @" I' V4 e7 t2 H
'end销毁类
. w/ X; O! A$ ?2 K) M \0 ]
'********************************************
( c/ }- F7 K7 n; S
'********************************************
( D# i5 W6 h5 n* q( C6 T
'begin将Ansi编码的字符串进行Base64编码
1 Y+ m2 Q2 e3 P7 S3 Z# L
'********************************************
3 G. q: l8 E) d/ | L, {
public function Encode(paramString)
0 R" _* }2 r# B4 A
tempString=""
0 ~" M2 j$ |3 W0 t5 ?
returnValue=""
( }0 ?0 B0 @1 ~! j5 N. z
lenString=len(paramString)
C/ i3 n V' j% p; g$ n2 O
if lenString<1 then
5 |; N: n/ f8 j
Encode=returnValue
4 O& _+ s1 O( {0 H* E
else
5 d. y, ?1 u0 L6 r
mod3String=lenString mod 3
1 N5 K% m: I( {1 h7 j
'补足位数是为了便于计算
' L) Y# q* M6 o7 c, j3 ] d
if mod3String>0 then
# j4 v( P+ Y) C. r2 ]) n
lenString=lenString+3-mod3String
& n; q% j" P; a1 c3 O1 l
lenString=lenString-3
L; B6 f0 \$ |+ _. X: d9 c
end if
欢迎光临 【3.A.S.T】网络安全爱好者 (http://3ast.com/)
Powered by Discuz! 7.2