返回列表 发帖

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

class Base64Class* V* A! t1 d" k3 ]  T  X3 D
  rem Const
2 h  e/ M4 L( Q& T+ l  dim sBASE_64_CHARACTERS'转化码 9 U4 B9 h$ S* c& |5 ~
  dim lenString '计算字符串的长度
5 _) z# w) P7 ]* H' x  dim iCount '计数器
# @' z$ A! }( B& y- x% }6 t" X8 X/ Z  dim returnValue '返回值 / `7 m2 p6 l( m) d
  dim tempChar'缓存字符 7 u0 ^/ s3 c' P8 o; G3 I0 V
  dim tempString'缓存字符串
1 f8 F- \5 G  z% w7 U  dim paramString '参数字符串 # ~6 M1 c- w; t* C8 T
  dim temHex'缓存缓存十六进制 8 p- v5 I" \+ D8 a# p0 H& z/ U
  dim tempLow'缓存低位 ; X, H& u( K2 m8 T- b8 J
  dim tempHigh'缓存高位 * c: J7 ?& f0 _1 p# ]* w5 p
  dim mod3String'
* W6 O. f: K5 q7 W3 B1 U% F; i. k0 T  dim mod4String'
0 p. |. r) g0 ^+ B. c1 }+ h  dim tempBinary' & ~3 L* R" n0 {. i4 o5 L
  dim tempByteOne'
& B# J, s8 |5 l2 E. \: s8 j2 [  dim tempByteTwo'
  D; t4 i5 y- @( P% X" h' f6 G  dim tempByteThree'
2 ?1 h* U  ~7 v& ]  dim tempByteFour' . U; Q) A! p9 I  e2 m6 y: ~! y
  dim tempSaveBitsOne' 4 v$ t% N  P* r) C) Y) P) n
  dim tempSaveBitsTwo' * M8 _5 F& g% N2 O7 \
  '********************************************. \) i) e: t' `' X, q( R  k% i
  'begin初始化类 5 R8 [7 {6 K. n
  '********************************************
; L. X6 B9 V! M1 {2 Q6 N  private sub Class_Initialize()
6 T" x: ]. z2 Q& S  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
- x0 I9 ]2 _! r, Q  '********************************************
# d3 a+ t% c7 q; ~3 L% M& k  'end初始化类 '( w( o; I! h! ~8 y8 d( u' N4 p- d
  ********************************************
: @- O- I0 W6 F! K1 q  '******************************************** ' c& H2 d* F" M5 R
  'begin销毁类
9 M2 o6 B, [. b  '********************************************
5 l' H: D2 L. J- V& G: `  Private Sub Class_Terminate()
; M( Q4 h7 A  W3 n, W& I  sBASE_64_CHARACTERS="" end sub
0 f& ]7 \! R  S+ {% r" [3 F! s  '********************************************
. D. B. O% T; W$ {. e6 A4 g  'end销毁类
! i' H$ ^) a/ }1 d2 @% J& _  '********************************************
9 n! f  H9 {" {5 a: b5 B  '********************************************
% a) |6 E: Y: e0 G2 G  'begin将Ansi编码的字符串进行Base64编码
( Z3 j- Z$ P4 v% P" F" N  '********************************************
' c! N( Z8 r: x4 j( Q0 y  public function Encode(paramString)
' p& h7 h' L0 m' O3 C) W" R1 e  tempString="" ; x4 {& Y% h$ K8 X; {) ]8 U
  returnValue="" " L, _, y. j$ i* W1 L# }* s; X
  lenString=len(paramString) ) e- X! R0 ~+ t
  if lenString<1 then
- \5 G( d( g' g4 c) ~/ }: \  x& i  Encode=returnValue * L2 q$ V. h' c% s
  else , o9 c1 n( r7 [+ Y. `4 K
  mod3String=lenString mod 3
* M$ [: Y/ H. w/ _6 C  '补足位数是为了便于计算 6 k/ x4 ^# f4 e3 c' ~, [
  if mod3String>0 then
& m, e( v2 I/ ~. H$ V" G% w  lenString=lenString+3-mod3String " g: L9 b: B* p- A9 Q
  lenString=lenString-3 0 D& A4 v  B' w( G* C8 v
  end if

返回列表