返回列表 发帖

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

class Base64Class
4 |1 X) T9 d, C. ?4 t( B) p  rem Const " C+ V+ ~- x0 u3 i7 j+ J% @- D
  dim sBASE_64_CHARACTERS'转化码 ) X$ o6 a, [' \5 K9 o
  dim lenString '计算字符串的长度 6 ]0 u! K! V! y* u6 i+ p# J
  dim iCount '计数器 3 Y- z) W% T+ r( r( o# K
  dim returnValue '返回值
6 F# [  o, x+ g4 K% Z8 R1 V4 Y* _  dim tempChar'缓存字符
2 |& T" x4 U  X  dim tempString'缓存字符串 3 H7 J" Q- `6 _. ^7 a
  dim paramString '参数字符串 7 z/ o+ y8 _6 P) h, n4 V
  dim temHex'缓存缓存十六进制
1 \2 T, V& q* d2 z5 z  dim tempLow'缓存低位 ! O( Q, q% u% f! `' i
  dim tempHigh'缓存高位 . Y, i$ O1 c6 K6 n0 o/ D
  dim mod3String'
# x4 E, p! d# @- f1 c5 E, J3 O( m' d6 _  dim mod4String'
. x. r* T' W/ O/ F7 }5 v5 _# }  dim tempBinary'
8 z: @' w9 R0 ~+ E' H$ ]0 R  dim tempByteOne'
# V0 v& C3 [, j- C1 x3 ?  dim tempByteTwo'
2 l7 ^. V4 v; }" {& b  k  dim tempByteThree' 6 c1 h3 a! e" e- f4 m( s6 U
  dim tempByteFour'
( X0 Y4 }) P! I/ q( \: _" J& j8 z  dim tempSaveBitsOne'
0 L1 F0 o0 J& R% H4 P) c0 f8 \% ]  dim tempSaveBitsTwo' " n+ x& B" d: c6 Z
  '********************************************
; K0 F9 Q- z% X  'begin初始化类
4 K' p3 `# F( w" Q  C  '********************************************
' s# P' p0 S1 d. `0 s: ]  private sub Class_Initialize()
1 d* W( _" s9 z3 Y  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub ' e5 }( m. f2 ^9 P
  '********************************************
1 |; a1 B4 U- i6 m  c, g" P  'end初始化类 '
0 B- k0 D* S2 l  z/ c$ x8 y1 X6 J  ********************************************
7 k' l, n) n# E+ S4 ]  '******************************************** " t7 t6 u. c6 [1 q1 K, `( e! }
  'begin销毁类 / W2 s5 Q* a0 y
  '******************************************** ( ^5 C1 k/ y' F4 J
  Private Sub Class_Terminate()   T7 y- F8 V5 c; `% A
  sBASE_64_CHARACTERS="" end sub 3 t: N2 Q# o# j9 L
  '******************************************** 1 D. N  A/ K) Y- {+ {! f
  'end销毁类
  j& g$ i# V9 a+ p  '********************************************' s$ N: @# h$ f. R2 j" ]  L) ]* k
  '********************************************
+ j- ^* P- l. m* V: f  'begin将Ansi编码的字符串进行Base64编码   \  S( F: l/ l- ^% Q2 Y% h
  '********************************************
( w1 l" ]5 G( [) a2 y  public function Encode(paramString)
' {5 s9 s+ h, j  tempString="" 6 }# w$ |5 |$ Y- w/ |3 L
  returnValue="" , }, ~+ Q  ~9 x8 L: L/ D0 B5 m$ Z
  lenString=len(paramString) ) @5 D& L6 c+ q) ~' S# {0 D4 a
  if lenString<1 then
* G6 Q! C0 ^( K: Z* b8 M* L9 M  Encode=returnValue
3 C' }$ w8 q% i' E- O. k  else , A- W, x. r- Q. i" y9 |6 x+ d2 n" `, ^
  mod3String=lenString mod 3 0 m. X4 \4 o& z# F0 K: B) O2 d$ \
  '补足位数是为了便于计算
0 X( H8 n7 I5 [1 B, Q+ N  if mod3String>0 then ; @: a+ |: e5 v- f, P
  lenString=lenString+3-mod3String * x0 v+ g6 C6 @0 P0 L  V$ E) C
  lenString=lenString-3 ( d( D  F6 ]' C* V7 P
  end if

返回列表