返回列表 发帖

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

class Base64Class
) {; C$ D; x# j. A; w  rem Const
0 Z# A. m& i$ |! C, ]  dim sBASE_64_CHARACTERS'转化码 % K$ a$ C: s- W, @: @. h& L+ g) d, M
  dim lenString '计算字符串的长度
1 w# ?' s3 w$ @- A  dim iCount '计数器
) ^. H+ ~5 t# Q7 T  dim returnValue '返回值
* y5 ]% u& f( j+ Y7 n  dim tempChar'缓存字符
2 @! p( J+ F& c, K! O; k5 {( d  dim tempString'缓存字符串 $ j. p& W* Y: d. w6 @: H% h
  dim paramString '参数字符串 6 b* x8 Z% Y5 z7 V! V% Y/ q* m
  dim temHex'缓存缓存十六进制
% ]! m  V7 S- u2 ?% k! I2 j  dim tempLow'缓存低位
3 N9 b5 j8 y4 q( M8 t  dim tempHigh'缓存高位 ) Q) Q( d* |  s# j
  dim mod3String' ) U! T. @$ N) f  r+ @
  dim mod4String'
) U- Z3 i& n* p+ U0 `' y  X  dim tempBinary' 9 O6 h, x0 n0 Q% D  [! U
  dim tempByteOne'
9 I0 D* |' ^9 }' L3 ^  dim tempByteTwo'
! T* o! o* [. g5 H; \* Y" T  dim tempByteThree' - B3 _) C/ W" r$ J$ H# m& |
  dim tempByteFour' , K4 \8 ?( C. O* J' L1 A
  dim tempSaveBitsOne' 0 I2 a. `# s4 E  I
  dim tempSaveBitsTwo' * B: M0 E8 X) ^1 M3 Q
  '********************************************
* _# U  v; Q# k  h0 y- E/ S  'begin初始化类
* D3 g6 K* P+ L: p- r  '******************************************** 0 w1 d. \* H. t+ R7 `
  private sub Class_Initialize() ) j9 u. m' Z0 v
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
$ j% z1 l) q3 R- D1 ^  '********************************************
. j1 U1 t3 ~* ?$ D; ?, J2 D  'end初始化类 '
. x! C: D& R" S: t  ******************************************** 7 P1 Z) w1 d4 f; Q! K; c8 P
  '******************************************** 7 a: I3 B2 D/ G% ?/ q+ f
  'begin销毁类
; `" d) m1 k3 k5 g, R  L- S  '********************************************
& [4 A( g0 H2 V/ O" |& {  Private Sub Class_Terminate()   V( ^4 @7 }: j1 N3 C; |9 H
  sBASE_64_CHARACTERS="" end sub   J4 s6 [( y$ j! J9 H
  '********************************************
8 P0 \9 o0 ~2 P5 w# l; v) w! ~# c  'end销毁类
' @4 B7 j; }. i: E  '********************************************8 d7 ?$ x( j) q5 O( v4 a& j& I
  '********************************************
# A  Q* K+ p) g( y  V* w  'begin将Ansi编码的字符串进行Base64编码
- @) x3 @2 V* t7 R  '******************************************** $ Z# x' F' i! N+ R" G! \- n
  public function Encode(paramString)
/ G$ R% v% l3 y) \& J% a  tempString="" 0 u7 k6 Q/ [* S) B" d/ B4 i4 s+ @
  returnValue=""
  v8 B/ a: w  y" ~$ f: z  lenString=len(paramString) - c! L9 d0 n8 h' R5 p5 P
  if lenString<1 then
% S! l4 b6 W4 C  Encode=returnValue , _  `9 Q! [4 X2 _
  else % V( [. w$ @( X# J2 @% P7 |: _9 @4 D
  mod3String=lenString mod 3
$ i8 U$ q3 j; w8 p8 Y  n) c  '补足位数是为了便于计算
+ _( K/ @, _: l1 L) W4 H7 h  if mod3String>0 then
# f* h8 V& p6 G- o8 ?+ U  lenString=lenString+3-mod3String 4 y/ @& k+ x7 T/ f* Q# e
  lenString=lenString-3
9 C1 M  V! h* C% W, B# {7 _% k  end if

返回列表