返回列表 发帖

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

class Base64Class  E3 r2 t; S9 s! n
  rem Const 8 ^, S0 {3 I4 b  r
  dim sBASE_64_CHARACTERS'转化码
, M. p$ ^, b6 a9 O) _$ Q3 {  dim lenString '计算字符串的长度
+ S$ L7 o& j% O  dim iCount '计数器   o1 i2 U: N0 J+ Z: t. t1 c: w3 ~
  dim returnValue '返回值 . ^2 ]. T: r' d
  dim tempChar'缓存字符
: F+ I) N$ D  v  dim tempString'缓存字符串
. R3 h& Q2 |3 B2 S  dim paramString '参数字符串 # [, k4 e8 }, R5 Y
  dim temHex'缓存缓存十六进制
9 w. h4 P/ w; Y$ V  dim tempLow'缓存低位 ( v4 x( d! M- m) @9 T, u! R* y
  dim tempHigh'缓存高位
4 w8 J, c( {$ ~. _' F& E: S  dim mod3String' 5 |9 q. b1 z0 q6 g) [( e- U8 p3 F- [
  dim mod4String'
; T, F  [% V* }1 p/ q  dim tempBinary' ! i0 \/ e4 D3 A) ?7 ^) ?
  dim tempByteOne' 4 ]' y$ l5 r' S8 H- W& a
  dim tempByteTwo' 1 q, S. ]! E, t8 [/ ^2 n1 L- b# s4 }
  dim tempByteThree' ' e: z" F" o4 [) S' Y
  dim tempByteFour'
; x% p; l( d# K% ]/ e( |/ u  dim tempSaveBitsOne' ' Q7 c; U; R0 L
  dim tempSaveBitsTwo'   o3 v1 C: ~+ e6 u0 i& O! \
  '********************************************
2 L# {/ t: T  t3 F8 L1 Y6 I  'begin初始化类
, }6 K! ^" j. r: U! `  \; S( V  '******************************************** 0 y* T# b* @9 v
  private sub Class_Initialize() & q& m: l, `6 m; ~: R! h0 \
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
  J# t# R; ?! g- G5 o) n0 u  '********************************************
( T5 |3 R. p0 z; ]6 C& d  p1 W  'end初始化类 '0 G( [4 i6 m: _1 Y2 j# w6 p* S
  ******************************************** - V5 {- t, v; `2 [4 H
  '********************************************
) \) j; P' Z7 L# Q  'begin销毁类
" k2 `( u* I5 a5 t+ [) Q  '******************************************** $ b6 Y, ?) L; N+ O! @- A
  Private Sub Class_Terminate() & S* O/ H5 D, N* V6 X
  sBASE_64_CHARACTERS="" end sub ; p; a8 H6 s. d7 C: A: x
  '******************************************** ) Q) A* y$ S; H" F: P
  'end销毁类 , V- i# A( L5 H- e1 y/ [
  '********************************************! c; l# S" T. Z2 o' n) v
  '******************************************** , S; Z) a4 U0 {6 s+ F7 @$ o5 S$ M' V
  'begin将Ansi编码的字符串进行Base64编码 5 k# ]  f! {+ I* ~( _
  '********************************************
* W8 o! h. L* H$ V, f# d9 S1 ?  public function Encode(paramString)
: _* _6 r: Y7 k! x  tempString=""
* x( _( _; s3 q8 _: [9 X5 W2 k  returnValue="" . {4 A* m0 u4 P8 R. _
  lenString=len(paramString) 8 f" w: o7 X* e3 v! f
  if lenString<1 then
- i( j* c# H4 [' G) o  Encode=returnValue
* T3 f6 W4 V) a, E1 x; e3 J  else
9 g8 W: y: ?8 h  J: H: m4 l  mod3String=lenString mod 3
% s) N, d6 g/ ~2 ^' ^, m9 k2 v  '补足位数是为了便于计算
# z( _+ P5 k/ B$ h( w/ o8 w! j- ?# J  if mod3String>0 then ; i8 g8 L9 w9 |* g
  lenString=lenString+3-mod3String
  }) U# d( |8 G3 E$ c5 m  lenString=lenString-3 % ], p# c3 I$ ]2 E
  end if

返回列表