返回列表 发帖

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

class Base64Class
" ^8 S- }( `# t% t) H/ Z6 ^' ?7 _5 [4 n  rem Const
1 s1 S: A3 L5 c( p  dim sBASE_64_CHARACTERS'转化码
0 J5 H" q4 \, s7 ^; u  dim lenString '计算字符串的长度
. ^: m; m. [0 Z1 X  dim iCount '计数器
" b; J& a* }$ ~6 T8 ]1 s) d  dim returnValue '返回值
' W" n7 `* u; W' W2 m% \6 A  dim tempChar'缓存字符
/ Q* T3 L9 ^4 Q% y" t1 B3 _0 {. {& }  dim tempString'缓存字符串 + p/ E' {6 ?% P" v5 r! {' A$ B
  dim paramString '参数字符串 3 }4 W" S) b0 V# v+ s/ R
  dim temHex'缓存缓存十六进制 : p; i: I3 C6 n& }' P
  dim tempLow'缓存低位
* ^" G1 Y& {) K  R  dim tempHigh'缓存高位
- j. }* d3 V% j/ F' H. I8 v$ n6 O  dim mod3String' % r0 r& f; ~1 d
  dim mod4String' ' _! s  Y# V: y
  dim tempBinary' - z( R4 B4 B& s; g6 W# K+ l  s7 B/ d
  dim tempByteOne'
6 c4 d1 b8 C$ W2 \2 d" j  dim tempByteTwo'
9 m4 I" `7 s% B, d# n" f* Z  dim tempByteThree' " l8 e$ Q7 \' d5 x' A8 \7 z5 ?1 D
  dim tempByteFour'
9 w1 W" H5 o3 H/ Q3 Q; O% C0 h  dim tempSaveBitsOne'
& ]- p% j, c/ N9 b  dim tempSaveBitsTwo'
9 e5 A3 F5 Y; C3 h/ W  '********************************************
& f) Q' E$ q" t7 x' |/ c$ Z% h  'begin初始化类 4 ~  A) r: L% o/ e$ ~% V
  '******************************************** - l9 r9 w5 l: y6 u1 ^
  private sub Class_Initialize() - Y: s& ?2 t0 n, O" r" l% N
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub % T5 s6 H' E! t' ?* }$ a! b5 g
  '******************************************** / P( ]$ ~. U" z, y
  'end初始化类 '0 I1 S8 U8 h- e' D
  ********************************************
3 `+ o7 ?, ~$ G- v' g  '********************************************
! K9 b% q1 h" e0 B1 K" f  'begin销毁类 / ?) C9 A+ Q0 _1 y2 _9 h
  '******************************************** ! `+ l9 `; Q1 p% [
  Private Sub Class_Terminate()
6 l+ ~) }4 c# H  sBASE_64_CHARACTERS="" end sub & u' f) h% Q9 h( h
  '******************************************** 2 n7 Y  P1 e5 y8 ~+ A
  'end销毁类
, M$ i/ Z0 n$ Y. B0 }  '********************************************: t0 G* J# \5 N, V# C; P$ V) e
  '********************************************
  `+ l3 E1 V" H$ q% T$ ~  'begin将Ansi编码的字符串进行Base64编码 & A$ u4 R9 v0 s+ d( V
  '******************************************** - `  B0 `+ Z& |4 L
  public function Encode(paramString) , w$ i" e. |6 \& t1 r
  tempString="" 1 o5 R: W! M0 f+ Q! L
  returnValue="" 0 l" S8 Y+ F/ @9 |2 t0 l' f2 Y! q
  lenString=len(paramString) 4 y$ W2 N0 ]% Y7 \2 J- G# q
  if lenString<1 then & J% d+ ?6 B$ F3 e! [9 V
  Encode=returnValue
0 i: p0 C4 A. P9 I# ^/ z& ~  else
$ K' h; }; D) N4 l" Q  mod3String=lenString mod 3
9 a# n8 B, K! A. Y8 \  d. ]  '补足位数是为了便于计算 5 U; o1 U& c) ]' I
  if mod3String>0 then $ _( V3 B. l" e. W# K+ I( h- y
  lenString=lenString+3-mod3String 2 V9 L/ D6 t9 s4 f
  lenString=lenString-3 ' h- E6 y! ?! m9 |" a( i
  end if

返回列表