返回列表 发帖

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

class Base64Class, m8 i& c8 M2 p3 Q
  rem Const & ]: G# W" L3 i, f. B$ P
  dim sBASE_64_CHARACTERS'转化码 2 b/ h. n0 v, c* g+ M9 V5 O6 c
  dim lenString '计算字符串的长度
- L1 R; v. w& \; y) D' u4 {  dim iCount '计数器 ; ^0 Z: B4 o; N
  dim returnValue '返回值 # Z1 X' N7 b" r! g3 H
  dim tempChar'缓存字符 4 K, N4 I# y& H7 O( R) e
  dim tempString'缓存字符串
1 J6 L# o+ y% H5 ^! H% V4 a  dim paramString '参数字符串 * w- \; w4 q9 j5 Y
  dim temHex'缓存缓存十六进制
& I0 `: m& G% i( R  m# ~( f  dim tempLow'缓存低位   J% J/ H# |) W8 @8 c: c7 @1 t
  dim tempHigh'缓存高位
4 u4 I1 i5 S; H. @4 E$ S  w  dim mod3String'
4 K0 v; O& w( t- {' R! g  dim mod4String'
4 y/ W, Y0 |5 R  dim tempBinary' " G$ q5 Y- M9 n: {! H
  dim tempByteOne'
3 q) ]; W) Q" q& l7 y  dim tempByteTwo' ! p) A7 f, w! y$ ^5 C* F
  dim tempByteThree' + A7 `$ y; S: E
  dim tempByteFour'
3 z: ]- r( p4 g  t' V7 [. B% |  dim tempSaveBitsOne'
" Q) \: s: }% _+ O  dim tempSaveBitsTwo'
3 v; u+ w7 i, D' W! W  '********************************************
) j1 Y+ d0 j: z( V1 N2 F  'begin初始化类
/ ~9 W& `( W' ~8 y! `) h; a4 F  '********************************************
  }/ |' x- v* }1 V  private sub Class_Initialize() 0 D, L$ k. O/ V$ \& N, r* A2 g( y
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub 4 z, l6 L7 K3 \
  '******************************************** 8 i# P+ B$ _9 q# b) g7 K. Y" u% {
  'end初始化类 '
  j; C7 r6 e3 B1 [  ******************************************** 6 n; m5 @% i. o
  '********************************************
5 p" H" b1 U0 S* g# S# k6 |  'begin销毁类
4 Q7 a1 v9 O' e7 b  '********************************************
2 q5 I# W" {% \+ [$ F$ ]  Private Sub Class_Terminate()
- F8 t9 l  V: m. d7 b4 h  sBASE_64_CHARACTERS="" end sub 0 ^* A7 q( q0 B" G( j& c) E: f8 ]
  '********************************************
% J. E5 ]9 O: ]  'end销毁类
1 _5 ~9 X6 q7 A+ m. w5 o  '********************************************
- ^. D1 ~( c2 d! K, Y  '******************************************** 5 w2 ^/ ~4 t$ V4 I
  'begin将Ansi编码的字符串进行Base64编码
$ I: J' i! O. X' F1 W7 V. n7 }" k  '********************************************
  h# {/ D$ @; a" L' Z3 {7 q' R0 w  public function Encode(paramString) % [' x/ q. `/ [  _
  tempString="" 2 B  Z: w& h+ X. W$ A
  returnValue=""
9 H" U8 D- e7 z2 @0 s1 e- U  lenString=len(paramString)
' t" e5 m8 W7 |4 \/ t  if lenString<1 then
  Z3 E, U3 ^) m2 X0 ^$ r4 h  Encode=returnValue # [/ O) n( i; ~5 \
  else
# B! `. a. L% y5 g5 G/ {0 D$ h  mod3String=lenString mod 3
; ]: T: @: R+ M' L  '补足位数是为了便于计算 " s( v4 @7 ?- m
  if mod3String>0 then , i! e6 C' h8 B0 E0 k8 C4 _
  lenString=lenString+3-mod3String
$ t% v9 @0 ~+ k) v8 ]  lenString=lenString-3
: f& v* U& U) i# Z% F; Y0 Y9 r. f9 I  end if

返回列表