返回列表 发帖

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

class Base64Class
& M4 o8 n+ c- O! M" s) K  rem Const % g/ e$ g- m" J* D; w2 e+ J4 a
  dim sBASE_64_CHARACTERS'转化码 3 J& i  k+ S5 v* H6 S
  dim lenString '计算字符串的长度
  q2 B% b2 Q* t& J) ~& L  dim iCount '计数器 1 E) n; A* `! C8 e
  dim returnValue '返回值 ( m: i- p" \  X/ a0 P: p
  dim tempChar'缓存字符 * I* ~  E3 i' m
  dim tempString'缓存字符串
/ M5 w# \$ D/ V* [$ b  dim paramString '参数字符串
2 R2 _/ b, ^. }/ R  dim temHex'缓存缓存十六进制 ! m0 G. q8 [% o. |6 N2 f. q- W
  dim tempLow'缓存低位 " p2 K" _0 F; [
  dim tempHigh'缓存高位
% S. D# @, r" p% S3 \  dim mod3String' 9 ~3 t: X% c- L! B/ P; X
  dim mod4String'
7 \* Z  M/ I$ V  dim tempBinary'
2 y2 R' Y0 K, F  dim tempByteOne' % Z5 V) s( b) g4 ^4 |' e
  dim tempByteTwo'
; W: f# D- |1 O  dim tempByteThree' % B7 d% ^: D8 [' J' ?
  dim tempByteFour' ( U& N( R7 s9 M4 D
  dim tempSaveBitsOne' 1 c0 ?+ O# f* X5 D( o, q
  dim tempSaveBitsTwo'
  N$ h% ]* y* D% M: Z& B2 h! E: |7 l  '********************************************
0 F' g- u2 _. M( v  'begin初始化类 0 F& |8 F1 G* G
  '********************************************   W4 R: V7 L. N+ H0 {, A8 [
  private sub Class_Initialize() 3 N1 m% N4 Y1 o, G+ n3 S9 Y
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
; b$ j' B' S, r& w1 F  '********************************************
  m5 h; `" K5 c  'end初始化类 '; R2 y7 C7 i. z
  ******************************************** ; Z  u9 t/ h& f! p+ _* \( `; |
  '******************************************** ! @6 i: A% t6 B5 U: `
  'begin销毁类 0 d. l" |0 G* ^' e, O4 y) F! H
  '********************************************
9 {) O4 @1 |3 I9 b  o6 @$ S0 v  Private Sub Class_Terminate() 5 T- r/ X: L# T, d+ N- X/ h/ J4 t; G( l
  sBASE_64_CHARACTERS="" end sub + G7 |8 D# b$ {
  '******************************************** 7 [/ z0 |) \9 n3 [
  'end销毁类
8 p) e0 l. C/ A# @  '********************************************1 s' [& X/ J3 U3 }1 u' K6 L
  '******************************************** " H7 S, E( c4 _- S
  'begin将Ansi编码的字符串进行Base64编码
8 `9 f3 L  b) j$ J- f5 i  '******************************************** + V! [+ y  b7 B# ~8 O" s
  public function Encode(paramString)
) j$ A4 A: w5 q' m7 z; x  tempString="" 3 A4 J/ y8 w* f: |
  returnValue=""
8 l. B$ @5 P4 a* g$ D! u' `9 R  lenString=len(paramString) ' S( p% H& R1 u4 q
  if lenString<1 then
  ?: [  u+ t1 C8 x7 p  Encode=returnValue
- z8 R* ~6 f2 P' k! Y  else
5 [1 g- d) M' w8 @( @0 u4 A  mod3String=lenString mod 3
/ C; k* a5 Q* V. F! o; U! w" j  '补足位数是为了便于计算
  {& v& t* S4 d  if mod3String>0 then ) ]) B5 b  b2 L% f- X
  lenString=lenString+3-mod3String   D8 ?3 \4 A/ r# |* ~5 x9 h" o' Z
  lenString=lenString-3
3 }; L' \- Y1 X  end if

返回列表