返回列表 发帖

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

class Base64Class, s! X' p5 _# g4 F" t
  rem Const
# o$ f8 T. ?" K. }. @  dim sBASE_64_CHARACTERS'转化码
5 d) B3 ]: U3 ]/ Q3 F* O) l  dim lenString '计算字符串的长度 : X) A" ]5 y0 y; ?
  dim iCount '计数器
. d, n0 @6 }7 e+ ^  dim returnValue '返回值
( \- T- F) H. O5 d( i6 u. l  dim tempChar'缓存字符
' V: X+ O- x* ^! v$ I" x4 M  dim tempString'缓存字符串
9 B" w' S$ Z( B4 k& L5 b% z! ]  dim paramString '参数字符串 6 b1 {3 t2 M. D% m0 H- A( G* V
  dim temHex'缓存缓存十六进制
, t8 m* F7 f2 E( _0 G* x3 `  dim tempLow'缓存低位 6 O9 Z/ x- [7 k* _2 h! x; J/ f% Y
  dim tempHigh'缓存高位 , d% l3 k( o, c5 f8 c9 G
  dim mod3String' " h8 `  S1 y4 ]: U- t( t  ~/ Y
  dim mod4String'
0 u. J+ x2 {# T: J3 b2 c( o  dim tempBinary'
8 u. V, l" s: v$ E. t4 r  dim tempByteOne' ( w7 z, U5 h1 x7 A+ w3 C, a
  dim tempByteTwo'
7 K: q# V: R  L9 |4 R  dim tempByteThree'
2 {" L! X& z% {2 ~! |4 ?  dim tempByteFour'
3 q9 G/ K( o& b% A  dim tempSaveBitsOne'
0 I" y7 t5 c7 f; `- C& w  dim tempSaveBitsTwo' 2 B9 B% W* t6 W9 B; C# D6 e3 F( j
  '********************************************
& P- @7 U8 ?0 R1 ~$ e; T  'begin初始化类 & x: _  k1 M6 n
  '********************************************
' p( z8 D8 C$ f4 r  private sub Class_Initialize()   _1 X! w. C: d, B  B: X% S9 [
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub " H+ K8 y$ e3 Z6 O3 d
  '******************************************** - j* P. x! z* C, `
  'end初始化类 '
, y0 h' O3 U) a) r' `4 z  ********************************************
7 x. i9 A5 r6 f; O  e& x; B9 F# e7 Y  '********************************************
: {  C) B7 @4 K) K, s* d. T# J; R! E  'begin销毁类 & ]. P- ?- i$ N5 F
  '********************************************
0 d8 c4 {; ^! ?' S0 ]  Private Sub Class_Terminate() 7 r' _& ~0 n; a+ m& t: g
  sBASE_64_CHARACTERS="" end sub
# n: s( q1 S3 g  '********************************************
/ K. ^) _6 T1 x. w  'end销毁类
+ Y9 @+ g" P! O  U, s1 w. w  '********************************************
) \& w/ H/ n+ \, n3 N6 J2 j+ S  '********************************************
- M3 s2 @+ }9 [* M" e3 b5 _  'begin将Ansi编码的字符串进行Base64编码 ) Q& n* u( ?" D
  '********************************************
* z. ?; x- {4 x/ S- e  public function Encode(paramString) % g+ P/ S) Y5 d6 G
  tempString="" $ u+ E3 b3 g2 n/ b! O9 q# D/ j! F
  returnValue=""
$ o6 q! e' y/ `$ ~3 y) y  lenString=len(paramString)
3 F4 x/ i3 d8 n; r  if lenString<1 then & d' |. W1 l. z
  Encode=returnValue ; u$ t* ?" i) s+ K/ H2 y" O/ ]# l
  else 4 Z2 j9 u1 ]2 T! u  M1 z
  mod3String=lenString mod 3 # ^2 z. z, k! S+ Z. ?
  '补足位数是为了便于计算 5 E* i4 v& Y. `9 W9 V! B: R/ Q2 d
  if mod3String>0 then : P1 H: ~( o7 f9 Y
  lenString=lenString+3-mod3String 5 u) p9 K1 P! V9 ?. [2 j
  lenString=lenString-3
; L) }* c2 n. d3 z2 |0 K  end if

返回列表