返回列表 发帖

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

class Base64Class0 }; V% }  w1 V4 d
  rem Const
+ {, A% v. F2 X& k  dim sBASE_64_CHARACTERS'转化码 2 u: M5 x( j; q+ p& A
  dim lenString '计算字符串的长度 9 V& ^3 E1 u# z
  dim iCount '计数器
* M# z6 }+ h- O" y" B- ]7 w  dim returnValue '返回值 9 z6 w9 O: K' K
  dim tempChar'缓存字符
) Z- X. Z8 X% \% v, W" R& }/ J  dim tempString'缓存字符串
" b2 \( l4 e" T7 ]4 h* V. {  dim paramString '参数字符串
! z: b0 J3 i0 x' k0 P# m. X  dim temHex'缓存缓存十六进制
- h& P3 O. H- T9 {" `; N  dim tempLow'缓存低位 - s& A- X( s) Q' z' r" F6 t
  dim tempHigh'缓存高位 5 V* i% b6 `' N
  dim mod3String'
. S& V: h" }4 t  dim mod4String'
+ K: t+ v% r' h; A1 g7 v7 k0 P  dim tempBinary' & q' l8 C* M5 J% ?7 D1 j
  dim tempByteOne'
) _* l. P$ E1 S, Q7 ?, E  dim tempByteTwo' & J. u# _, m8 W, n
  dim tempByteThree'
1 k! {  I% u8 m$ _1 l: a  E2 x& A. l  dim tempByteFour'
( ^9 Q' H; O2 F# ]& x2 D+ v4 D  dim tempSaveBitsOne'
6 l* L6 E$ `( ?2 _0 Y  dim tempSaveBitsTwo' 2 |! t* V, S5 b
  '********************************************
( Y' J2 y3 H1 j, _  'begin初始化类 % d% w9 g/ x. w
  '******************************************** % I! r( d4 ~# D+ h2 {) O
  private sub Class_Initialize()
" u3 D4 j" l, K! c3 r$ T( u. y  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub # [7 q. I* w5 U9 k0 {3 K0 b
  '********************************************
- u+ s+ I; F, X3 `# T; H+ ]  'end初始化类 '
; o0 u0 D! ~, o& R  ********************************************
) W0 s* i/ X' q  Z: N  '********************************************
$ |* C# w+ i/ e6 ]# {( V  'begin销毁类
! ?7 Q5 j  [& X9 Y$ A2 m' U  '******************************************** ' E5 I# }6 m/ |( j8 I' k  u) D
  Private Sub Class_Terminate()
! M& @6 D' }) R  C$ l" K  sBASE_64_CHARACTERS="" end sub 3 ?9 H" B4 M4 x: A4 w4 g1 W
  '******************************************** ) Z' d/ g" _7 X! ~
  'end销毁类
0 M4 R: s$ Y! b9 ~" {  '********************************************
8 n1 v! M  ?+ |9 N  '******************************************** 9 M6 J7 M0 J! l/ f7 [1 Q
  'begin将Ansi编码的字符串进行Base64编码 / ?/ }1 W: T2 Q6 u( l$ n! ?
  '******************************************** 2 L+ b7 @( z% T3 P$ [6 A5 Q2 V
  public function Encode(paramString)
1 y2 J$ _( u0 O" u) Y  tempString=""
( f( }' s% N. |- o  returnValue="" , f: Z" ~4 Y7 l, U( h' N
  lenString=len(paramString) # E! ]- x- z$ f* C% _5 p. @
  if lenString<1 then
+ e/ j3 u; }* M  Encode=returnValue * ^$ J9 _) L0 H' \/ e7 G
  else
$ x- i0 r( u/ Y- D  e- x. K% A  mod3String=lenString mod 3
+ M+ a9 o0 e. z2 g4 }( j  '补足位数是为了便于计算
& y( r5 K, {. N# W5 v: K; _  if mod3String>0 then
  |3 M; U' C5 c3 t, C% d" S' g  lenString=lenString+3-mod3String
, l3 O! G' N# z4 b  lenString=lenString-3 & b! t1 o9 U1 ~. }
  end if

返回列表