返回列表 发帖

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

class Base64Class7 j* G% n+ y, [0 `: q5 R
  rem Const
% H) n4 ~( w2 q+ R# f7 m  dim sBASE_64_CHARACTERS'转化码   a( S+ F: z' d- I6 P  B
  dim lenString '计算字符串的长度
8 C% t& F5 g* Z6 f4 I2 W  dim iCount '计数器 , V, g9 H9 N# A2 G  V
  dim returnValue '返回值 - I6 n* C$ r1 D3 L. W7 M
  dim tempChar'缓存字符
7 Z+ t' t& w+ F/ A: b9 s6 x9 O  dim tempString'缓存字符串
1 h) c9 d1 ~/ U/ M  dim paramString '参数字符串
; S7 }; r. O4 ]$ U0 S  dim temHex'缓存缓存十六进制
% y* j$ ~/ A8 h. ?  dim tempLow'缓存低位 1 M* M, n# t+ x$ Y" `) p% H7 F
  dim tempHigh'缓存高位
6 i; J& s; D$ O! `# g$ s& X$ D  dim mod3String'
! _1 a+ t3 @; k) e: y+ C) z! E5 t5 J  dim mod4String' : Y1 h" {+ F" c( l
  dim tempBinary'
3 B2 A" Y0 z4 V  dim tempByteOne' 6 n! r% u  I3 \6 G1 v  S
  dim tempByteTwo'
" x& f' ]- i, @  R- ^  dim tempByteThree'
8 u1 o8 g3 \0 V" p4 p0 E4 p3 D- o  dim tempByteFour' # n* Q9 n8 ]6 Y; ?
  dim tempSaveBitsOne' 9 L6 X4 j% z4 x9 P  e. c- P! K& D5 F
  dim tempSaveBitsTwo'
' [6 |. s- Z& d" v9 y6 M  '********************************************
5 v8 p) {5 t6 N1 n3 z6 G, |  'begin初始化类 % N1 z* F$ E  ^' n5 w$ c& Q( V+ w
  '********************************************
* Z1 w" v/ W$ y, G  private sub Class_Initialize()
& W4 O$ V9 d+ n. B6 E0 D  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
+ S) ]  M/ j' `; p7 V  '********************************************
: |4 k6 R! V+ B6 E8 L  'end初始化类 '! s! r! T' F& b
  ********************************************
+ y5 o0 {0 d4 u2 P. U) _7 v  '******************************************** / [" }' k5 I# p; l
  'begin销毁类 ) n3 X. U7 W$ V8 y9 N
  '********************************************
& J  v- s* E) ~! R" b  Private Sub Class_Terminate()
+ E* u1 ], K. m9 i$ r  sBASE_64_CHARACTERS="" end sub
& G( j8 |% l9 P% ^8 A  '********************************************
2 T1 m* ~+ R% i# S+ m2 M  'end销毁类 & j* D; Q4 h0 L6 W
  '********************************************  q: J" g; G6 s: z
  '********************************************
1 o5 E- @5 G3 K& j  ]% E3 j8 N  'begin将Ansi编码的字符串进行Base64编码
' R, L; l/ I+ D1 A( n  '********************************************
" g9 ?( m/ \& q6 H8 u  public function Encode(paramString) 7 X# Q* M* J+ f3 x) x1 r$ o% g+ d
  tempString=""
1 h4 |! |+ U* r3 G' p9 w8 q5 L  returnValue="" 0 k+ f5 c' t( x6 P1 q( T# W
  lenString=len(paramString) * v- `3 W0 y/ N0 q
  if lenString<1 then 1 V/ ^% Z. K/ ^' S) U& z6 y
  Encode=returnValue 0 q9 m  ~8 ^- d/ d
  else + I% P" ^: _3 Z
  mod3String=lenString mod 3
$ R2 }  \) F; D0 C  '补足位数是为了便于计算 6 _, y. ~# }/ f" b' r  `: F* o0 N+ X
  if mod3String>0 then
6 G/ a6 Z* v' S* ]2 [& J  lenString=lenString+3-mod3String ) W& m* ~+ b  b4 U( M
  lenString=lenString-3
' e4 T" q# U& I9 w1 d! K: N& R1 \6 V  end if

返回列表