返回列表 发帖

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

class Base64Class  W( C( D. G/ Q) g  w$ a! s
  rem Const ) i) u( r6 X+ I' q+ v  l: x5 p
  dim sBASE_64_CHARACTERS'转化码
; ^7 y! i- \$ p  `" ]% X$ R  g  dim lenString '计算字符串的长度
, ^- w$ h. W) P* Z" [  i  dim iCount '计数器
6 `: ?9 A& `7 f/ U  dim returnValue '返回值
( G/ l- g" |# a. O4 m6 D  dim tempChar'缓存字符
2 _. z2 B8 N- f: `  dim tempString'缓存字符串
% Q: Z" j% q0 j- V2 H  dim paramString '参数字符串
+ F7 Y& ~% w/ p  dim temHex'缓存缓存十六进制
4 T1 l+ o6 D0 x5 m5 c  dim tempLow'缓存低位 6 t8 T- {1 J2 ?' r9 `3 W& s7 H
  dim tempHigh'缓存高位
  Y# M* Y- Q/ p$ t( o9 O9 D/ F  dim mod3String' + @; v' E7 r1 c* N* d' A
  dim mod4String'
) O" D, K+ r+ K& D5 M9 _. `  dim tempBinary' + y7 \% h' S+ l3 L5 ?3 ?0 Y
  dim tempByteOne'
& P: E9 D* X4 ^& ?% ]  dim tempByteTwo' ; s9 b4 T  A3 i) E6 b. c. r, u
  dim tempByteThree'
7 W# ~/ {& K6 {  d# K  dim tempByteFour' 2 }& ^& ]% b3 K
  dim tempSaveBitsOne'
" @* a% J; r8 M  dim tempSaveBitsTwo' ( R$ i3 I2 `9 E+ Z& i5 T
  '********************************************
4 a% D, X  h' Z& e9 _. R0 F  'begin初始化类 + k1 ^, [3 Y) C/ g0 @
  '********************************************
( m" F+ H( ?5 y8 K  private sub Class_Initialize() 9 w, |& ]- [' y, f; ]
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
4 F9 _/ ~! W! E; U% L  '********************************************
5 T: Z; C; s- K% V/ p  'end初始化类 '; w. y3 a( m0 k1 W
  ******************************************** ! f. D. Z2 _  p- s
  '********************************************
. u9 }2 S9 M' H: f5 I  'begin销毁类 & k& q& l* h! `: G: T1 {+ \. }' n% ]
  '********************************************
: T# d0 D/ D0 s7 T) T, e  Private Sub Class_Terminate()
$ P8 w* f$ N9 G; v$ l  o+ I  sBASE_64_CHARACTERS="" end sub . ?; I' e9 E9 d2 I
  '******************************************** - |5 M3 @# |9 t0 ^% @: z: Z6 }. J* F
  'end销毁类 : Y, T0 q7 D7 x. L% w
  '********************************************9 k$ T$ _  ~8 ?8 ^3 b
  '******************************************** 5 A! x: T/ y& E5 Z1 s! X
  'begin将Ansi编码的字符串进行Base64编码
' z  ~* M0 S2 Z  [9 n  '******************************************** ! f' K2 W/ M3 i* {+ F; i
  public function Encode(paramString)
5 n+ i+ W- b0 ]  Z; y  tempString="" 7 F& v4 P8 Y" y/ }
  returnValue=""
) k5 S5 ?* j+ i$ d8 H, n- I  lenString=len(paramString)
; y- Z+ j/ k2 c. F( J  if lenString<1 then ! k9 A' N& A3 ]  b4 E2 S% \; w# Z$ v
  Encode=returnValue
: I4 D( ^4 C% l* O6 L  else
) G( d$ p3 O+ }  mod3String=lenString mod 3
/ a( p  [* @* F) T0 a# [  '补足位数是为了便于计算
4 B4 G! p: n4 u, C  if mod3String>0 then : C8 W& S+ d" H1 [  ?2 E
  lenString=lenString+3-mod3String & p: R3 C+ D8 O0 {; M  _8 H! J
  lenString=lenString-3 3 ?8 v2 e$ B/ n! V  N1 N
  end if

返回列表