返回列表 发帖

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

class Base64Class* w3 q- w- j' I/ R. E: I( Z) k
  rem Const 5 {2 d6 Y$ \1 B  j, n
  dim sBASE_64_CHARACTERS'转化码
1 x& d* t* X' m$ f& T. R  dim lenString '计算字符串的长度 1 Q% z. ^4 Y) h
  dim iCount '计数器
  x- D- N3 A- _5 h4 ~  dim returnValue '返回值 5 Z) K" T$ m4 D4 w* u1 C
  dim tempChar'缓存字符 * _* C/ j8 P. N* v: c/ [% I' p
  dim tempString'缓存字符串 " P5 o8 a6 L$ S2 G% p2 h3 ]
  dim paramString '参数字符串
$ }" p, h4 |$ l; m, x: v7 y  dim temHex'缓存缓存十六进制 # A; u5 S% H* Z% t
  dim tempLow'缓存低位 ! {6 Z8 O# P. {% s; C  A
  dim tempHigh'缓存高位
9 G6 Q- p  B% ?$ v! n9 O+ e5 q8 N8 }  dim mod3String'
! }; j6 k1 g9 t( [7 V, l! E  dim mod4String' + N4 h1 Z% n# O# X1 W
  dim tempBinary'
$ w) S+ v* G2 `+ n; y* X  dim tempByteOne' 9 g4 J2 j& m! ?+ q# K- l3 U& w3 o
  dim tempByteTwo'
, x: J, p" y4 _6 O  dim tempByteThree'
$ T8 D/ I, v: d2 i  dim tempByteFour' 6 y' o" _* |9 ?+ L/ S" ]7 ^1 H. C
  dim tempSaveBitsOne'
: ?) Q" O1 Z' h" S3 Y8 a$ p  dim tempSaveBitsTwo' + j2 {7 t0 Y: i9 H- w# W  k6 @) z! I
  '********************************************
( G# t0 u3 k. Q1 R( ^( N3 U  'begin初始化类 8 p# |& D8 s+ Z9 J. Q" Z1 O
  '********************************************
7 A7 r+ k( t1 L9 v7 ]) @, |  private sub Class_Initialize()
. x8 w* n+ E& T6 g. t- t5 @2 g% l  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
1 G( P2 _4 b6 e* [  '********************************************
! [! E0 e0 O1 f7 p8 D  'end初始化类 '
# d# }3 |: j7 _* U! e  ******************************************** 0 b# A, |0 F& M' v7 B& Z
  '********************************************
  Y! U: C+ J% ^& S. W0 b  'begin销毁类 3 e  Q4 F+ g3 D% ^$ Z; x
  '********************************************
5 M- C9 P0 L, p9 i* g8 |  Private Sub Class_Terminate() : T+ O' N$ G3 C
  sBASE_64_CHARACTERS="" end sub
- V( }. g4 @$ r  s  H7 S% S  '******************************************** ! X, ?  G! O3 E, j& m5 `
  'end销毁类
8 L5 \7 j- G8 L5 C" R3 t  '********************************************2 d# A* o- l. k1 K9 O8 K6 `' D2 g
  '******************************************** 5 w4 D9 o$ ]0 i3 N
  'begin将Ansi编码的字符串进行Base64编码 9 z  C6 k: k' j
  '******************************************** ) s, K+ M3 Z' [! K( ]. i
  public function Encode(paramString)
+ D1 o3 A. u: d$ ]  tempString="" + C& a$ V/ x/ J6 f  W2 m4 ]* |
  returnValue="" ( I; `3 ]8 {4 j; L6 _- v2 a9 w* E
  lenString=len(paramString) 5 x3 u# d5 o3 H) v% c  h
  if lenString<1 then 4 f1 ]* x) t6 }0 Q5 ~. L4 N
  Encode=returnValue ; e5 s+ `, j  R5 g1 T( O
  else
; S4 E, g, e* ]! }$ w' Q! w  mod3String=lenString mod 3 . L/ Z; ~! [* P0 v/ X
  '补足位数是为了便于计算
% O* x" y- k, P0 m! {! Z  if mod3String>0 then
5 {  x: e9 B- Z" @, G  lenString=lenString+3-mod3String
) Z$ a( d1 z1 O* w: Q- ]: e  lenString=lenString-3
2 d- A& Z1 P9 y  X$ Q6 |- a+ ?  end if

返回列表