返回列表 发帖

[原创文章] ASP编写的加密和解密类

class Base64Class
/ J% U* P7 x; ^( s! L; c  rem Const
2 E& ^/ d! k) d4 w7 X  dim sBASE_64_CHARACTERS'转化码 ! L( p$ x! G( G) n( V
  dim lenString '计算字符串的长度
3 ~8 {2 {2 t/ D: N3 R! b4 y3 S% V# {  dim iCount '计数器 ) v# y7 y* e# p- ^: j
  dim returnValue '返回值
$ ?/ y( p* p9 e( d1 I, C3 n  dim tempChar'缓存字符
8 ]6 z7 }* t% L  dim tempString'缓存字符串 & c, L& r9 p. w/ z3 l9 O
  dim paramString '参数字符串
# e2 u) W& J1 B# D* c' O9 Z4 k  dim temHex'缓存缓存十六进制
, g2 |8 W2 y/ C4 c  b- q  dim tempLow'缓存低位 1 r: ?: `' X3 a) @3 R
  dim tempHigh'缓存高位
8 F5 X6 i. G( }: u" {! Z  D; x5 z  dim mod3String'
- i4 b- K' W$ e+ e  dim mod4String' ) t% d  P+ M1 P% Y0 D6 `
  dim tempBinary' ! K+ l* y* {% N' k* a
  dim tempByteOne' 2 F. `6 \( k7 J: X/ u, {( R
  dim tempByteTwo' ( o; c5 }) P9 s' K7 ^) E$ a9 L
  dim tempByteThree' : o; q* S* L6 _$ T( V& ?, v. t
  dim tempByteFour' 5 K0 L) \9 d9 M6 Q
  dim tempSaveBitsOne' & F. z8 F  P( q4 a
  dim tempSaveBitsTwo' , Z/ D$ D7 T9 A7 D+ N2 W
  '********************************************% G! \/ f1 \* |7 l+ E
  'begin初始化类 , H1 l, N+ d. P8 l% h$ B
  '********************************************
) i7 H8 |7 a) N& Y" x  private sub Class_Initialize()
2 u8 e( l# d) T' l) ?  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub - s" K* t' y7 x& w0 G' g4 M3 l
  '******************************************** 5 Y; Y$ T1 r, R9 g9 s9 c& k
  'end初始化类 '
. T: d8 ~/ {0 K% A% ~* R  ********************************************
% Y3 k3 [  a% K" [  \+ A  '********************************************
& b0 \6 z2 l' A  i7 I3 D/ V, }  'begin销毁类 ' R! ~+ F: l2 ~  T1 {  E
  '******************************************** " L2 y& e. H; f# w: z
  Private Sub Class_Terminate()
7 U5 @, f- B6 u5 u) D" x. S  sBASE_64_CHARACTERS="" end sub ( n3 u+ v3 e5 N5 x, l4 x# l
  '********************************************
' J0 `3 ~5 R7 r* m  'end销毁类
$ }& D9 J' h7 h# L  g/ f  '********************************************! b  `4 Z; [) O; V" Q, D3 M
  '********************************************
+ Q" w" y2 @0 n  'begin将Ansi编码的字符串进行Base64编码 0 q) d) r  }& y& c) j
  '******************************************** ; W9 B9 V" W7 {0 \. c, x
  public function Encode(paramString) , P5 ?3 ~0 t' L7 Q3 t5 W! O$ G
  tempString="" 4 f& o& }' A9 y7 f% y
  returnValue="" 0 m8 K9 X0 k. n0 ^, x5 @
  lenString=len(paramString)
- H* D: o' d+ F- _, u1 H9 I/ B  if lenString<1 then
( \& ^4 P/ W* Y1 x' L2 [" @$ d  Encode=returnValue
( P* U" Y4 m+ @3 _$ V! z  else
7 _* [2 J/ _" @( V  mod3String=lenString mod 3
# o4 e. Y* I2 r( e% A% r. h; B4 ^4 m" ~  '补足位数是为了便于计算 " P3 {+ q6 d) c
  if mod3String>0 then * M! f& g: a; k* J9 H  b, z# W
  lenString=lenString+3-mod3String
' i! X5 m; C3 T7 Q  lenString=lenString-3 : Z- k" T5 V3 L% _" @+ b
  end if

返回列表