返回列表 发帖

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

class Base64Class
+ p* }7 \. X4 i7 `/ ?  rem Const . T$ Q3 q0 Z& o; ?% j
  dim sBASE_64_CHARACTERS'转化码 ) l. ?& |% b- g9 T, F- g3 f+ s
  dim lenString '计算字符串的长度
$ \) x) U" A. ?# `  dim iCount '计数器 : Y2 M- [2 H8 c. k5 S" ~* T
  dim returnValue '返回值 / H1 k0 K. S8 D- m" B2 ~7 k# L
  dim tempChar'缓存字符
! G* H4 l6 }4 d) j' p  dim tempString'缓存字符串
. O" X) |; b/ F% j$ {1 ^6 i: r8 s+ C  dim paramString '参数字符串
- M0 v3 C9 ]1 j  dim temHex'缓存缓存十六进制
- |( s. ^7 }: k! {" P2 Y2 V  dim tempLow'缓存低位
& d4 B0 W$ [. a6 M) t+ r  dim tempHigh'缓存高位 ; ^- n& T3 t" I8 c3 c+ Q
  dim mod3String' 4 U: N: @1 F9 X0 E6 Q* r1 a
  dim mod4String'
+ q- s3 A% Z0 x1 u- y  dim tempBinary'
1 z9 q' o+ t& K0 r! X& u. m  dim tempByteOne'
' \1 \- ?! {3 C2 F# W/ L. p3 s  dim tempByteTwo' 4 }1 O1 Y: k) @% b
  dim tempByteThree'
/ i! P$ F+ R& f+ V  dim tempByteFour'
3 n& X" j* K+ Q% L  dim tempSaveBitsOne'
9 r- o$ |7 g: {% w% q) }  dim tempSaveBitsTwo' ! y5 r( v! d6 I! E* g' Y% a
  '********************************************8 u; j$ V0 `) r* u/ b1 ~4 v+ K
  'begin初始化类
2 c1 B7 Y8 Z; L2 ]  '********************************************
/ G; I7 k- c1 P  private sub Class_Initialize() 2 I! d0 |' u$ C* W$ d
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
' q1 C' S/ `2 L( r  '******************************************** " U- ]4 \. R9 N- F
  'end初始化类 '
/ K% T  j1 A8 P4 Z9 m2 S5 m  ********************************************
) @! n; c$ N) r/ n" X  '******************************************** & ^% L8 s$ ]& x
  'begin销毁类
( r/ y; G* ?8 d* S  '********************************************
; U0 n& z! [4 `$ y  v4 _  Private Sub Class_Terminate()
$ `- L2 Z0 m8 x0 C5 x2 x  sBASE_64_CHARACTERS="" end sub : L1 y4 o: ^& X! L2 ]; o  h
  '******************************************** + S6 m1 D5 N; U! y& K
  'end销毁类
& D! }  D) V- w4 G, O+ s  '********************************************
8 P9 i1 S: a6 w5 b: |  '********************************************
. n2 N0 ~1 Q/ I6 L! m/ M  'begin将Ansi编码的字符串进行Base64编码 ) s) h+ S" ?, q2 z" I
  '******************************************** - _% x- n/ F# O* p( f7 n2 I
  public function Encode(paramString)
! g! B# k1 M. N$ e  tempString="" 0 v" C3 d* _1 T; T) N
  returnValue=""
& H% E& L% E4 ]8 J  lenString=len(paramString) 4 u( M+ n; U9 @  M
  if lenString<1 then / M& @! @+ t+ @6 V' X" `2 z$ x! }
  Encode=returnValue
" y! k) A3 R$ A1 b: V# W. ?4 k" Y  else * t2 F1 `. e: U0 h9 a* J7 I
  mod3String=lenString mod 3 ) ]5 y# m& P8 t( K6 e; X2 M
  '补足位数是为了便于计算 & J7 }4 M2 @" d- m
  if mod3String>0 then
( w+ T* t$ [+ H& A# Q  lenString=lenString+3-mod3String
! t; ~* i% V5 W  lenString=lenString-3 9 W4 x& H& C$ q( R
  end if

返回列表