返回列表 发帖

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

class Base64Class
5 l/ K$ S! X$ |- P& Y8 A, d  rem Const
0 A0 s+ L; U9 Q! O) T% X% Q. M  dim sBASE_64_CHARACTERS'转化码 + A7 [" M: Q% n: W
  dim lenString '计算字符串的长度
6 I1 ?9 q( x& _7 A' q  dim iCount '计数器 " M( e  {7 c! |0 h" b) a
  dim returnValue '返回值
$ `- D; X: J. l& N0 ~  dim tempChar'缓存字符 5 q& G& V( Y' [% Y
  dim tempString'缓存字符串 1 O+ S1 O& S4 j  B% u9 H
  dim paramString '参数字符串
: d4 Q" Q% U: l  dim temHex'缓存缓存十六进制 9 O+ ]8 {/ z; {) ]0 k4 E5 E! a! i
  dim tempLow'缓存低位
, S2 v- G  H( h- b' {+ j  dim tempHigh'缓存高位 : G/ ~6 O/ z3 A7 ?+ b/ m- d4 [. C
  dim mod3String'
+ r* U0 z3 }" H5 a  dim mod4String'
/ N% c. u5 b! ]  dim tempBinary'
/ v  b1 v+ ~+ K$ t6 `% K/ C  dim tempByteOne' 7 @5 e- k0 S  Q( G9 l4 c4 s
  dim tempByteTwo'
' X" {1 [( _5 O- x  dim tempByteThree'
7 [7 V2 |5 C: S! M; l& D  dim tempByteFour' * T( }2 ~/ x" `! @) h* M5 K  h
  dim tempSaveBitsOne'
, I' j. C" T( s  dim tempSaveBitsTwo' . _% S( U4 M& T- |% c
  '********************************************
: B& g- x+ v# ~2 _  'begin初始化类
" j7 E, G9 g" P: ]( y# O  '********************************************
+ v9 g) V3 ]3 j! E  private sub Class_Initialize()
* X5 c1 y) l0 O; R) E. e  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub . `( y  q# t$ ?1 S
  '********************************************
' d# U* L' }- k- _# B0 p4 \  'end初始化类 '5 k2 _2 Z6 z" G6 |8 Q  r3 c# B
  ******************************************** 0 o9 D$ s* U% I! q1 L" A6 }
  '********************************************
: D) j! P9 B* Q, C  'begin销毁类 0 ?* i6 \6 a) t& I6 t3 O/ V
  '********************************************
- S& O+ r0 J& r% G  Private Sub Class_Terminate() ! }9 K; P+ ]0 {' F6 M/ p# p4 X! L1 {
  sBASE_64_CHARACTERS="" end sub
5 e7 Z/ ?/ u- o9 v  '********************************************
8 Z6 A+ ?$ u& a9 U% u) ]9 P/ v  'end销毁类
/ z, x* x, `4 p" _) i  O  '********************************************( ~- `8 V1 n5 s( F& f
  '********************************************
2 m( S" B0 R" U  r, J  'begin将Ansi编码的字符串进行Base64编码 ( Y3 w4 P7 J6 a
  '********************************************
4 o8 Z3 N* u; T% \0 O  public function Encode(paramString)
* \6 c/ f; h' C  tempString=""
, w& D7 ~8 K! d8 y+ J1 e" B  returnValue="" # V: R$ {- a' `( Y4 E( [8 m
  lenString=len(paramString) 8 F: m- s2 {' U- B* t5 A0 C
  if lenString<1 then 1 B/ b: `; }4 ~) P6 E6 b
  Encode=returnValue . g+ `2 K( k$ N" b% E$ E4 s
  else ! U: B" s: c  u
  mod3String=lenString mod 3 & s7 Y/ @/ O. Z6 f3 i
  '补足位数是为了便于计算
: j6 C: t% i3 B  if mod3String>0 then
- A8 Q0 V+ n, _& L# B  lenString=lenString+3-mod3String 7 N3 k' y, s+ T
  lenString=lenString-3
. D6 [4 I. a  o) h8 B  end if

返回列表