返回列表 发帖

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

class Base64Class
& g9 \- ~# ]  Q4 p) J1 c, c6 b  rem Const ) H* s8 a, k2 R3 I3 R& l
  dim sBASE_64_CHARACTERS'转化码 2 |7 ~& m7 E+ s% j
  dim lenString '计算字符串的长度 2 u7 W6 k; X% g- u# a
  dim iCount '计数器
- ~5 K4 f6 M. x/ v  dim returnValue '返回值   s5 k0 J3 N' q
  dim tempChar'缓存字符
+ ~/ o; L" C5 j* _  dim tempString'缓存字符串 : q: B6 r/ J+ \+ `. C. g
  dim paramString '参数字符串
& j( x0 {' z' {  dim temHex'缓存缓存十六进制
; a$ S- r/ P, w; |9 S  dim tempLow'缓存低位 + i0 h) ~3 c! a: t) f- A
  dim tempHigh'缓存高位
; Q4 i8 s2 i- O3 L/ V" T0 r  dim mod3String'
6 w- b, g' a0 I0 o  dim mod4String'
5 h2 W) t2 m9 |! \0 L  _& _& {8 D/ }  dim tempBinary' ( E8 `5 ?' K' N% q. Y% {
  dim tempByteOne' 1 f: [" f1 `7 e
  dim tempByteTwo'
1 M) u* o* e( E5 G  K3 D4 P* ~: Q6 h0 A  dim tempByteThree' % o& |& |6 @, u3 N3 l
  dim tempByteFour' 5 X  U, m' L) c+ i8 O" ~; k
  dim tempSaveBitsOne'
! q" B  w; {0 ^8 O9 x  dim tempSaveBitsTwo' $ Q2 K" E( b8 _5 t, m
  '********************************************
6 h  B' |6 h9 F6 T$ A. ~: u  'begin初始化类 ! `4 @$ I  ^$ H) q" e9 g' ]: ^
  '******************************************** ; |5 ?6 w- a6 o8 b2 D. M
  private sub Class_Initialize() ; ]" O  `0 d% p; o. Z0 V1 G# R
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
4 @7 m# z% n& {& Z$ B  '******************************************** 6 L- _7 D( B5 D4 ^: d: }9 ~
  'end初始化类 '
: U0 e2 I- ]- v% r  ******************************************** . f4 _9 }% u- \! @) l4 z1 P
  '********************************************
* @; \( R6 |( t5 N" }. R  'begin销毁类
& |3 J( D3 Y% x  '********************************************
+ j( o" m' s7 H2 Y4 o; `" ^) y  Private Sub Class_Terminate()
. o2 k7 J9 l6 Q' i  sBASE_64_CHARACTERS="" end sub
4 a; g/ g$ q# c% }  '******************************************** ' y2 \! W! q) A+ ^: i
  'end销毁类 + m' V4 m: x+ J$ L0 L
  '********************************************, d6 |! n) c# V+ _
  '********************************************
" b: X! p9 Q/ t6 O3 P# L! f, S  'begin将Ansi编码的字符串进行Base64编码
& p* L) j& ~4 Y! K4 l  '******************************************** & ^  W' V8 Q+ N+ h3 ~1 O' D4 Q
  public function Encode(paramString) ; o: B2 U$ N, {$ S
  tempString=""
/ U% M/ k, s% |1 e  returnValue="" $ m, t" \# u% i6 O# Z2 Q' c9 N
  lenString=len(paramString)
1 S( d% C/ t' {7 F  U  if lenString<1 then , Q% g& M1 }5 J6 K! }; W' K% X
  Encode=returnValue $ M, \/ `; C# u7 P2 D4 j
  else
; [$ R3 o5 U+ e8 S- n" Q( K7 @: U/ O' P  mod3String=lenString mod 3
" ^& g3 e# C* x  '补足位数是为了便于计算 5 y- ~) N3 S" o& q+ G+ w
  if mod3String>0 then
/ U) N3 |1 L% ?7 M" y: }% {  lenString=lenString+3-mod3String
! y1 a$ d& F! p; R  lenString=lenString-3
' x. p. ^$ f' p- M  T9 L6 y  end if

返回列表