返回列表 发帖

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

class Base64Class
/ u0 z5 K6 Z% O0 L9 a  rem Const
/ d2 a& Y: P5 V9 K9 M  dim sBASE_64_CHARACTERS'转化码 5 k: _; F0 Z* H8 \6 S& \
  dim lenString '计算字符串的长度 % I5 f( h1 h3 f) G. c# Q
  dim iCount '计数器
- K( y8 n+ d& ?0 Z/ i2 V% [! R2 ^/ C  dim returnValue '返回值
8 |) |, F3 h4 {% S9 {  dim tempChar'缓存字符 2 L! g: L  S! Q6 u* [
  dim tempString'缓存字符串
5 L) w, J+ t8 c& ~: C  dim paramString '参数字符串
! @6 p1 _+ v$ V5 _5 y) C1 l$ Z6 `, q9 x  dim temHex'缓存缓存十六进制
  l2 r3 i8 y1 N* s+ T  dim tempLow'缓存低位 8 \, a% R/ ^, k5 ^: A  K8 U( R
  dim tempHigh'缓存高位
: A- n3 G2 }2 q1 e  dim mod3String'
1 W4 G* c+ l2 z3 B  dim mod4String' $ ?' @8 T  m" L
  dim tempBinary' 1 [* e1 u* ~! U" Q1 A+ P1 ^
  dim tempByteOne' / ~2 |3 ?9 j- J2 T. J+ U
  dim tempByteTwo'
1 M, S- a- X/ ~% K/ M7 `  dim tempByteThree'
7 F7 H5 j0 j% ^. U7 R  dim tempByteFour' 7 D. k) g/ K  n! c; W% L& r3 A
  dim tempSaveBitsOne' 1 y" l' j" {3 N- P/ p* c6 C" P
  dim tempSaveBitsTwo' ) S3 y: G, Q8 Q' h' Z0 K3 L
  '********************************************
( v; f( z1 o" H$ [  'begin初始化类
$ C, x. B) e7 q- @1 n# n  '******************************************** ! O) g: J6 w& B
  private sub Class_Initialize() 8 p. B" c, c# ]: ~( X( e
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub * P4 E3 x- ~4 ~8 h; h
  '********************************************
2 T4 s2 ^( ?) [  'end初始化类 '. i. z. |' `% N1 k
  ********************************************
% m; R$ L$ Q0 ^, P' G3 i  '******************************************** 6 u( `2 o) d4 d* C. w
  'begin销毁类
# ?  n0 I  D( W" Y  '********************************************
% G8 Q* f  H/ @6 F# Y" }; e' d  Private Sub Class_Terminate()
; K% v+ r/ `8 _6 q$ t* N2 Z  sBASE_64_CHARACTERS="" end sub
. {: F- Q) ~* E' p2 _, i# ~4 t  '******************************************** / z9 O$ }) f5 |7 `
  'end销毁类 ( A3 ?( T) K1 a9 I$ B
  '********************************************
" {  n& I. \% [  '******************************************** ( D" V  ^) @2 L& E5 p: X2 e
  'begin将Ansi编码的字符串进行Base64编码 6 t8 O2 U2 F5 a3 b
  '********************************************
8 s. l# i5 z9 c# b: e$ l  public function Encode(paramString) 1 }7 S( X3 M- a1 ~+ X
  tempString="" ! U4 r2 {# j8 S3 Y) j
  returnValue=""
* g) j+ a! M1 ~$ O7 V8 [7 K1 h  lenString=len(paramString)
$ ]( K8 R  K- V) B. _+ h3 L# K' `  if lenString<1 then & c0 R: G- h2 Z6 l/ x
  Encode=returnValue
+ l" r5 ~$ n7 C5 l  else 4 }& m) F: P4 r
  mod3String=lenString mod 3 , I: c5 y% q* I, c; s  h
  '补足位数是为了便于计算
& S$ I5 |/ [9 D6 p! x% o0 O8 q  if mod3String>0 then 2 a" v1 x# z- s* R1 T, w
  lenString=lenString+3-mod3String
' a/ ^3 g5 s7 u$ I8 n! E( ~3 f) M  lenString=lenString-3
! M. |+ Z9 }+ L1 r! n# O( ?7 i  end if

返回列表