返回列表 发帖

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

class Base64Class
! \5 E8 N2 F( `0 ~' g0 _2 o  rem Const
2 [$ M/ r8 D5 X  dim sBASE_64_CHARACTERS'转化码
% @: C, P. h+ x- `  dim lenString '计算字符串的长度 5 y' I+ g0 a6 a$ {
  dim iCount '计数器
8 }5 u4 Y$ b- E, ~: S8 r  dim returnValue '返回值
/ M: L" v* o* C6 z' M  dim tempChar'缓存字符 6 }) A9 G% Q' N3 y. j& O
  dim tempString'缓存字符串
) f) a2 A. A/ M. b  dim paramString '参数字符串 6 Y- f4 E0 Y- u
  dim temHex'缓存缓存十六进制 3 S  A4 i1 B  ?4 U' X
  dim tempLow'缓存低位 + B6 L' v7 B/ L9 L% x9 e( _% _+ Q
  dim tempHigh'缓存高位
2 s& a( |1 o/ O# F, V( G# j5 ?  dim mod3String'
& v8 }* h0 ?" l+ U1 k; G% v# q4 K  dim mod4String'
. R# i0 y& w7 R6 N" Y8 q  dim tempBinary' 1 s, e- R& ~3 P( O% I
  dim tempByteOne'
8 D- ]/ Q5 p+ e( }  dim tempByteTwo' ' [0 E/ k/ z2 X
  dim tempByteThree' % R# O* W/ G3 y& ?
  dim tempByteFour' 6 R' \% _# l$ f! ]6 [
  dim tempSaveBitsOne'
; F" t& [0 n; @3 q! Q7 C1 r  dim tempSaveBitsTwo'
5 D) ~8 `6 n* P) L. v- \; L  '********************************************# I  h0 Z4 j) h$ Z
  'begin初始化类 1 t) s  j6 `/ @: Y( f
  '********************************************
0 {' K2 H' l  T' P' q* ?- J7 T  private sub Class_Initialize()
- H3 m5 M9 y. Y& [7 q: H  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub 3 S: x; ^% I2 }3 }- _( h  b
  '********************************************
& `" f! l4 Y. P  'end初始化类 '0 J) I- {2 Q0 C4 f0 x
  ********************************************
7 b( d% M+ p- ~0 @% W! [  '********************************************
+ u4 q) ?3 i* r/ Q  g! Q! q$ v  'begin销毁类
1 ?- @& _4 W# w  D- Y( u1 z) S  '********************************************
% B0 U- R' b% Y  Private Sub Class_Terminate() $ b0 P& F" r# g2 c2 I& l0 l
  sBASE_64_CHARACTERS="" end sub
( z6 s5 o5 p* S4 M8 g  '********************************************
" h, i, |' U5 Q5 q& l. J  'end销毁类 , x. [1 T+ u$ S7 s  z% n
  '********************************************7 R. ?6 n5 l. v% B( U
  '********************************************
9 f5 Q- y( n: _1 i9 y  'begin将Ansi编码的字符串进行Base64编码
/ z# a% r* z" U' R$ w  '******************************************** 1 C* x5 I5 e, k$ D2 T9 e
  public function Encode(paramString) / G0 {9 v$ b$ H/ m
  tempString=""
+ H+ S& B9 S  }9 u  returnValue=""
9 E; K: K" A: p1 z# h& \  lenString=len(paramString) 6 H- q) t  y" ?* b3 C2 p9 b
  if lenString<1 then 5 u. _; W+ \9 j. c& i: m( F
  Encode=returnValue 5 L$ o1 c2 h8 ?
  else 1 Y7 T6 P9 D, I7 u
  mod3String=lenString mod 3
' _6 Z. z$ H5 q  '补足位数是为了便于计算
7 q( p1 i+ E9 i  if mod3String>0 then
9 Q8 U6 m+ l% H7 O0 z  lenString=lenString+3-mod3String * T- c; J; K9 g6 C" D  c
  lenString=lenString-3
! ^4 U  R: _, m3 {  end if

返回列表