返回列表 发帖

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

class Base64Class
  P5 G6 j1 P1 v; X# n  rem Const / h% F" B% t* `
  dim sBASE_64_CHARACTERS'转化码
+ K% }1 _+ h1 k" X  dim lenString '计算字符串的长度
7 X8 t8 P3 D9 `0 U  dim iCount '计数器
6 L  W5 U6 A' E! Y8 X1 m5 I7 r  dim returnValue '返回值 ( q. i5 b+ j8 C; Z" x/ Y- L
  dim tempChar'缓存字符 & J4 {$ q* I: g0 \
  dim tempString'缓存字符串
! a; u4 J6 E. s8 G! Y1 A& R2 O7 E8 A/ K, T  dim paramString '参数字符串 ( V3 \8 K/ D/ O) X7 L+ T
  dim temHex'缓存缓存十六进制 3 e# p7 L; ~, x% k  n0 k# U+ m: Y
  dim tempLow'缓存低位
( T9 i4 q! N8 n  dim tempHigh'缓存高位 4 K' h3 s9 ~/ W9 s
  dim mod3String' % r5 Z7 c% V8 f
  dim mod4String'
$ Y9 l7 u- b# @$ ~6 {! I  dim tempBinary' ! l9 ?# @  V$ T( d+ N- y
  dim tempByteOne' 3 F) T4 T, I6 Q0 C9 P
  dim tempByteTwo'
& i0 [  Q: \* j7 z% y0 e5 L& g# [% `  dim tempByteThree' , Z, o, _& w% k; [$ u
  dim tempByteFour'
* i: j! q4 M6 C- o0 h6 ]  dim tempSaveBitsOne'
; ^0 p. D& N) \( @' \- x  dim tempSaveBitsTwo' 2 T: @8 l( a- n) ?3 n
  '********************************************
2 [0 ?* v% ^* [' \) K/ D+ N! Z7 m  'begin初始化类 2 s4 k4 Z5 @2 G- e6 U
  '********************************************
& {1 R0 D- l2 [1 F  }# L  private sub Class_Initialize()
0 q+ w! H# Z. [8 D8 C" k1 [  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
$ u, I0 q. F/ ?. {8 {3 q" f  '******************************************** & G" O! @( ~/ e% {6 H5 p
  'end初始化类 '
# i1 [' P3 N0 t  f/ a  ********************************************   z" s) ?4 O. f! i- l' U
  '********************************************
) C: d# s( m& q$ p- t- g- O5 I  'begin销毁类
6 i5 g. ^2 f$ E& G  '********************************************
5 }0 }& k/ e; u3 }: x4 p. h0 @  Private Sub Class_Terminate() ; X, {' q6 g/ t4 v, V( w/ n2 j( d
  sBASE_64_CHARACTERS="" end sub
% l+ F. o0 B5 {9 V3 o, }# H  '********************************************
9 K  b4 G6 T) _  'end销毁类 + S) i6 v$ k0 c& V' ?' d! a
  '********************************************
. P. F2 B9 M% M, G' }: f  '******************************************** , S0 c$ b8 @, D
  'begin将Ansi编码的字符串进行Base64编码
) w; i; ?  J& O" \" c+ F& T  '********************************************
; A% @1 ?- h2 a0 R1 w3 ]6 Y  public function Encode(paramString)
2 @3 v, r: Q6 c! _4 S' a  tempString="" , o: ?1 G( T/ X% Q
  returnValue=""
& z- q$ u2 l* d. P+ H1 v% P  lenString=len(paramString) 4 ?9 i$ l" z9 U
  if lenString<1 then # E. m* t: ?9 g. A
  Encode=returnValue 7 Z; E2 n  D4 z) j
  else
7 o$ H6 c' W1 Z/ r  mod3String=lenString mod 3 $ I, w% t% O+ w- O  t( p& L& a* x
  '补足位数是为了便于计算 4 i. N  Z7 l$ E0 k! I' X6 Y* ^6 j
  if mod3String>0 then # A5 q/ S. y! M& K  h+ ]
  lenString=lenString+3-mod3String " _) g* [$ o+ H0 J* A
  lenString=lenString-3
2 j2 J% @% t  ^' U. ~  end if

返回列表