返回列表 发帖

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

class Base64Class
2 g4 x4 P7 o' m% S+ }; i: M) R  rem Const
; [1 T! q+ c! N$ w2 C" {* m  dim sBASE_64_CHARACTERS'转化码 . J. d+ f9 u2 w
  dim lenString '计算字符串的长度 + F) y2 f' x" S5 ^
  dim iCount '计数器
9 Y& f8 r3 S& v6 \1 ?  dim returnValue '返回值   ~5 |6 G. G* v* E
  dim tempChar'缓存字符 5 n) W7 ~( i: X- e" J
  dim tempString'缓存字符串 ' r9 ?# s9 F1 C; @1 j& P" c
  dim paramString '参数字符串
9 ]5 r$ Y0 e5 w0 `2 ]  dim temHex'缓存缓存十六进制 2 {! R! c& b) b) u2 {' `
  dim tempLow'缓存低位 1 j* O6 R( V  n
  dim tempHigh'缓存高位 " _, ~, i$ P3 M7 j
  dim mod3String'   {' G! H7 F% f5 F# u
  dim mod4String' , U! W4 I9 a, Z5 [1 n' z7 f5 x
  dim tempBinary' , u: R8 H( |/ w! @0 I
  dim tempByteOne'
$ Q- @+ `# Q9 \' P3 p- n% N8 ~  dim tempByteTwo'
7 Q: ?, N5 g3 n  dim tempByteThree'
* H1 m- E3 p2 I) v1 _6 Y  dim tempByteFour' 4 s/ a: z8 R8 a/ _& K4 ]# s
  dim tempSaveBitsOne'
5 v# ~! ?$ S, m- a5 F  dim tempSaveBitsTwo'
9 k5 Q5 w* r2 U% Q' T  '********************************************5 p9 B2 j* t% q7 K1 x! F
  'begin初始化类 % ^6 Z6 a/ p# o) b* S
  '********************************************
: T' o, q  i9 Y+ m& Q7 |  private sub Class_Initialize() / Z- B' Z, c" F; E' a" Z
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
) P/ n$ j/ ~. d* U! x  '********************************************
' J9 ^* ^' I0 M( d) k0 g6 q& ~) i  'end初始化类 '$ z2 S! W. c1 |
  ********************************************
& _8 {* u3 x* q( t7 ]' O; B2 w$ W  '********************************************
4 z4 p% f2 @# Y# H  `3 @  'begin销毁类 ( j6 R5 O7 M2 z- ~7 Y7 T
  '******************************************** ) _# Y" a' z9 J
  Private Sub Class_Terminate()
9 i- d8 K, N" R) S/ b  sBASE_64_CHARACTERS="" end sub ! I8 l, w$ ]$ E  t% L2 e" w/ L
  '******************************************** 0 F1 M' q- W8 p
  'end销毁类 # N8 B: I8 v% C3 X( y  e3 l" Q8 t
  '********************************************7 I& t3 k  s2 W/ f7 {
  '******************************************** ! L5 Z! L  X3 Q# O: m/ _5 t! C
  'begin将Ansi编码的字符串进行Base64编码 6 |2 E' H8 m5 o0 S) N5 [% A8 S  Y
  '******************************************** ; _* t! j  V* j8 s
  public function Encode(paramString)
! Y3 o0 {- u1 j- C! W  tempString="" 5 p  @3 B" ?8 h0 Q5 z1 V2 F
  returnValue=""
. O2 M& H' W9 y  lenString=len(paramString)
! K  T$ C0 x- N" s  if lenString<1 then
, M6 ~9 h. Y' @- K* L, [  Encode=returnValue 0 l0 L" y; f: E9 {- Z
  else
; n9 l' p( f  E2 D* n. k+ r  Z$ d- Q  mod3String=lenString mod 3 . l- c& I; s9 ^! k$ Y
  '补足位数是为了便于计算 . Y7 ], ^% U/ ~
  if mod3String>0 then
# W7 ]1 T! `: X; r( N2 j" i" z  lenString=lenString+3-mod3String # i" c  n) f/ D
  lenString=lenString-3
) I  _) T2 s! S, V2 W  b8 ]9 @  end if

返回列表