返回列表 发帖

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

class Base64Class% x  G5 [2 T( ^
  rem Const
9 Y% l0 N  A3 o3 |5 [9 X  dim sBASE_64_CHARACTERS'转化码
. d, n2 K/ A: n! }- D8 o( y' }3 \  dim lenString '计算字符串的长度
4 ?# c6 d0 u" _  C0 @; j  dim iCount '计数器
- t- v8 k6 Y, ?, t2 a) w  dim returnValue '返回值   s; R3 ?. y  P8 p, f3 {: `
  dim tempChar'缓存字符
9 L* Q3 Y! y8 |/ U! _  dim tempString'缓存字符串   U9 u  ]$ [7 l  _% U8 Q" U
  dim paramString '参数字符串
7 x' r" u* N$ w& ~  dim temHex'缓存缓存十六进制 ( {) _6 ], o% n5 N9 o$ G
  dim tempLow'缓存低位
2 h6 I; w# P4 g6 f$ h  dim tempHigh'缓存高位 , W5 u" e- S3 H/ `& A
  dim mod3String' : T- _' e9 l. I; Z. ?
  dim mod4String'
! w; D, ^/ F0 D! X  dim tempBinary'
5 _! {+ A, d- l. O  dim tempByteOne' * p+ ?) w# B$ L  d7 C
  dim tempByteTwo' - S/ e% M! V: l/ R
  dim tempByteThree'   {& q0 w. w/ W' e% h% r5 A* @
  dim tempByteFour' $ L6 f4 a0 z8 ~: o0 v5 _, i9 m3 A3 F
  dim tempSaveBitsOne' + G$ u; X9 o0 B8 g
  dim tempSaveBitsTwo' 4 l# R" a! k( k0 R# I
  '********************************************0 n. K% v# l& c3 ]
  'begin初始化类 9 T. e2 m1 d1 l8 U, B& c1 m
  '********************************************
( c- J# `  S- t( h0 ?% r  private sub Class_Initialize()
+ K- c9 S2 M3 B6 A) u. M! Y7 |  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
0 ]+ B3 K& D' {: Q. [; C  '******************************************** / B% C. q$ i. T
  'end初始化类 '
. O/ n  j' P- I  ********************************************
* r8 r( a1 y9 [) i9 n( K" L  '******************************************** - ?' J" l. I' X: n& ^, [8 I  j& U$ ?
  'begin销毁类 , v; B& I" G7 O- F; D0 Y1 m& q
  '******************************************** 2 k  e/ b6 z9 f: @: @7 H  T5 D
  Private Sub Class_Terminate()
8 Q8 W5 i) f: |9 m0 V5 m5 K  sBASE_64_CHARACTERS="" end sub
% t8 E1 d" m' ^8 W, M  '******************************************** ; S1 u& K( W% E, N0 q
  'end销毁类 8 b) |$ R. X; P# _  y- r1 N
  '********************************************
) ?& S5 |2 Q1 A2 z5 P  '********************************************
" B9 Z7 C. B" {3 H6 g  'begin将Ansi编码的字符串进行Base64编码 % h  g; N2 s- @1 G/ K5 R
  '******************************************** ( Y" q3 \1 W' u( H3 s
  public function Encode(paramString)
2 s' Y- ~% i" R( I6 s4 \  F1 ^  tempString="" - ], y7 m! h) m' I5 r8 a! W; w
  returnValue=""
0 ?! |: U6 }2 Z  lenString=len(paramString) 5 T% L9 f% h" _, }
  if lenString<1 then 5 o% C+ O2 \' V. ~* F1 ?. L, k9 [% _
  Encode=returnValue
: f, J) I/ I, T  else
- b* L, c, D2 Q8 o1 U) Y* i9 D  mod3String=lenString mod 3
9 X& z' _9 f9 V+ g# v  S. R  '补足位数是为了便于计算
$ `* B2 E. K: T' U, T; {- O) h7 I  if mod3String>0 then * [0 u# H( ^+ L3 ?) c
  lenString=lenString+3-mod3String + o) J3 n6 k! b1 _
  lenString=lenString-3
+ o4 t! M" i+ A  end if

返回列表