返回列表 发帖

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

class Base64Class, i5 u6 \3 o" P; [( S1 P
  rem Const 1 w: i7 A( R) ]- a* ^/ m
  dim sBASE_64_CHARACTERS'转化码
/ {( B- n9 l. U5 B3 w  dim lenString '计算字符串的长度
2 ^+ T3 k& f  G1 x6 Y# ?* C$ k  dim iCount '计数器
0 \; z3 Y) D2 Q+ f3 t2 x  dim returnValue '返回值 0 q7 h  H5 }( f$ w+ n# w
  dim tempChar'缓存字符
% A; W% h/ S, s0 Y% Y; a  dim tempString'缓存字符串 2 z5 s, `1 U. Z+ f! L. C
  dim paramString '参数字符串
. Y! l1 C3 l# s/ U) \" R- w# H* G7 l  dim temHex'缓存缓存十六进制
3 g% I4 n( {& E+ o/ G9 C  dim tempLow'缓存低位 6 n* X  z, i4 |  z) V
  dim tempHigh'缓存高位
3 m6 ?3 z" C4 @: k& W  dim mod3String' " b* `# t  O9 L8 P. N
  dim mod4String' 1 p7 [# o% u; O5 N% ?$ n
  dim tempBinary'
! q* A3 C* M; d2 a+ u  dim tempByteOne'
5 A+ m* O/ u4 [$ j! P  dim tempByteTwo'
$ W- V. _  i) l  dim tempByteThree'
: q& j1 {3 q; N5 Q  dim tempByteFour' ' F' m% S; g; F+ m
  dim tempSaveBitsOne'
( J& d' v# R2 a  dim tempSaveBitsTwo' 6 m: ^8 I! |' j; I
  '********************************************
- s: i/ ]7 n$ q" c6 f' k9 o# W  'begin初始化类 5 b% i: |* I* o! B& O2 f6 X. i
  '********************************************
1 y4 a& ~& q9 k4 t  private sub Class_Initialize() 2 B' f# q- y" h
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
; u2 H7 D: [! ~/ M, `% w8 x6 k' e% ?  '******************************************** 5 O1 J- J0 w- A6 s2 L: `3 f
  'end初始化类 ', C2 n  i3 d8 J2 m6 _5 j
  ******************************************** 1 y5 l1 X! g+ U3 z( f  q( I
  '******************************************** & V8 D. O" C$ x1 m! u
  'begin销毁类 6 O- M. n8 A  q, g2 `
  '******************************************** 1 O2 f6 a$ e& D: B. l
  Private Sub Class_Terminate()
, D+ K* `3 s( W% D6 g- }  sBASE_64_CHARACTERS="" end sub
# W$ j. e2 r0 Y6 C  '********************************************
3 V* Y9 }! A0 l) _4 }; A( M  S  'end销毁类 / B/ C+ F2 }6 H) H
  '********************************************
2 k) D. T1 [2 y' I: g: y# a  '********************************************
4 h- l  ~, [$ U0 l  'begin将Ansi编码的字符串进行Base64编码
- k6 x" Z. k* `) |" }, t/ f$ w* `  '******************************************** ! T% ~0 m: Q' {; @/ j/ G
  public function Encode(paramString)
/ g& R! ^$ i0 I9 I  tempString="" 2 a: G. [6 S7 F, k/ C3 h. T0 Q( \4 _3 ]
  returnValue="" $ [0 g2 C8 Z5 r( `! j, t
  lenString=len(paramString)
0 m" ?9 A( D0 U" \3 ~  if lenString<1 then $ I- U; V6 x+ H. i% ]
  Encode=returnValue
. i9 w( T: \$ s8 k  else
1 o) y& `7 p" _, w  mod3String=lenString mod 3
0 b9 v: n4 b) I  '补足位数是为了便于计算 ! |0 O% f7 f) V+ a5 Y; N
  if mod3String>0 then
2 l: t5 `6 A8 p0 ~  lenString=lenString+3-mod3String
8 A9 x& c- |) J3 H1 Z. [  lenString=lenString-3
4 {9 X/ Z% E9 p  end if

返回列表