返回列表 发帖

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

class Base64Class
+ u4 b2 M9 w' h5 D9 [7 p7 B  rem Const , i4 k4 j' u" h7 i
  dim sBASE_64_CHARACTERS'转化码
- V; D- f+ o  G; n) g# V* O  dim lenString '计算字符串的长度 & O  R3 f. C1 N" x, w% w9 g
  dim iCount '计数器 ! p3 }9 H3 C4 {" u
  dim returnValue '返回值
# O5 {) P& A! m' z  dim tempChar'缓存字符
* W' N, h% @, J% B; F6 D& c  dim tempString'缓存字符串
- `/ x' [) V) E  dim paramString '参数字符串 - y5 B/ R, _( }. H8 x  U9 a
  dim temHex'缓存缓存十六进制
. w2 B( O) |) H" W2 V8 _  dim tempLow'缓存低位
% [8 K/ J. W, h- \& z  dim tempHigh'缓存高位
2 R! m0 v. }' Q7 m8 F5 J( v5 k% x  dim mod3String'
, ^, ~( Y' @( u* [. X$ s  dim mod4String'
0 N3 O) i& R# k+ K% w8 I8 L  dim tempBinary'
0 o- U- i1 g6 z4 h( {) I  dim tempByteOne' # H3 ]% T& s; @" k( p1 s; x0 o
  dim tempByteTwo'
5 a2 \9 U: Q( A7 g: q4 W3 x; h+ W  dim tempByteThree' ; I. @. ]& Z1 d8 N4 {! w
  dim tempByteFour'
3 ~1 ]$ t8 `  ?  dim tempSaveBitsOne'
  O8 O8 n' a% q+ g4 l  dim tempSaveBitsTwo'
( C- t, }. X+ |# |& T0 O  '********************************************
# I' q: Q" S% Z' ~) I1 ~  'begin初始化类 8 ~( W% I3 r! u4 j
  '******************************************** 3 U& v8 y% |. i. x$ F  O* o3 O
  private sub Class_Initialize()
& k7 q9 b6 B4 ]) T! b, q% A$ b$ a* |  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub * i' \8 f5 F2 n, o. R, r
  '******************************************** : P3 n4 E/ K; e- a
  'end初始化类 '! e$ D, p! {" r& J9 j
  ********************************************
# R, G/ Q) u9 u& O8 b$ V; }  '********************************************
0 ^" Q+ y- a5 p9 K  'begin销毁类
3 l5 o- `2 H9 }  '******************************************** + N9 H2 L" a2 t. i, X2 H
  Private Sub Class_Terminate()
* v! f/ p- g% l6 p! t/ @6 Q7 H  sBASE_64_CHARACTERS="" end sub
3 s* ~% P3 C0 _$ K  '********************************************
9 ]6 \% o% w  P7 C, N5 k  'end销毁类
( `- X8 f5 _: V1 ?  T) ^1 G$ {! @  n3 j  '********************************************8 t. c7 S, [' r6 u1 w' l
  '******************************************** 5 m: _  N8 T1 {; Q7 l0 j
  'begin将Ansi编码的字符串进行Base64编码 % y8 c- W* o  o- Q
  '********************************************
1 F3 n4 p3 ~9 Q4 _  u7 n, E  public function Encode(paramString)
+ A! k9 i) ?* E! z  tempString="" . N1 h2 K( f( p$ L6 d2 g9 ], w! X
  returnValue="" ( l0 Z/ m% v- d/ G+ {! q$ Q
  lenString=len(paramString) 0 d3 _/ q4 C5 O9 [; u+ i
  if lenString<1 then
, ]# o. T% m) k, `1 h  Encode=returnValue
( Z& E+ @; F7 Z! m+ m( ^3 U  else 2 ]; ^, e3 F: p6 B
  mod3String=lenString mod 3   e; H  |' d, a0 _! N. G2 r
  '补足位数是为了便于计算
/ I: Y% j' a/ f( z* Z  if mod3String>0 then
, ?2 {6 b7 \. S9 w  lenString=lenString+3-mod3String
& m6 d% N+ p7 x8 d# M& ]7 W) Y  lenString=lenString-3 7 Z2 {5 `% a: k8 c$ v( l' ]" E6 c
  end if

返回列表