返回列表 发帖

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

class Base64Class) A  l% W( |8 p; }1 F" Q8 a
  rem Const
3 `% X# N8 n: y  dim sBASE_64_CHARACTERS'转化码 % A- b$ C" e  |
  dim lenString '计算字符串的长度
; z* ?$ R$ z5 d' G  dim iCount '计数器
; ^" F$ e5 R" A" j) [5 h: J  dim returnValue '返回值
' u# c% K5 s) T+ E8 C3 Q$ Y  dim tempChar'缓存字符
) b& R  B; V4 e' W, `0 A; j' p  dim tempString'缓存字符串
3 j6 Q' j9 l6 u. I% X0 v! [  dim paramString '参数字符串 4 F; a; d* L8 S# d
  dim temHex'缓存缓存十六进制   U& S9 ]7 s3 R6 H* y; W/ H& N
  dim tempLow'缓存低位
+ h% N& x$ D: ?0 c% B1 `, O1 M7 c  dim tempHigh'缓存高位 ; f# Q, P0 h6 A# Z  a) v( d4 `, E
  dim mod3String'
4 X! y: w$ v/ X; l$ H, w  dim mod4String'
4 \& D4 ?3 I# ^  dim tempBinary' ' |5 A# A8 L$ }3 I0 [
  dim tempByteOne' . p. Q9 z, }4 h5 J3 m
  dim tempByteTwo' * w5 N5 y4 q2 }1 t! M2 G  B
  dim tempByteThree'
4 A; @$ a+ K1 E3 N  dim tempByteFour'
+ ~9 K: W' z# G! |3 s  dim tempSaveBitsOne'
0 F* }9 M0 v1 K  dim tempSaveBitsTwo'
' C" z2 [2 r8 \# D: Q7 ~  '********************************************
; `  }' P  y1 S" o  'begin初始化类 5 a4 P. H' ]- n
  '******************************************** 6 \* t2 U5 F( T5 w0 D
  private sub Class_Initialize() ( Z* ~# L0 _9 B5 u3 ^, ~! S
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
/ X: y$ \# ~) r/ V6 y  '********************************************
* _, G8 O& }3 y+ e5 j  'end初始化类 '. Z" `3 ?$ p# T; B  a8 j
  ********************************************
7 @4 ?* t( [. _  '********************************************
3 L: B: |7 Q! S  'begin销毁类 & ]4 n  Z( q) G& X8 Q% u: O
  '******************************************** ' I7 f6 _# X6 Z! O# |' r/ ?$ r- C
  Private Sub Class_Terminate() 2 f( s) i- Z7 ?3 y7 D2 J7 O0 Z
  sBASE_64_CHARACTERS="" end sub
- N2 s+ d3 u) f# V5 L5 h- c  '********************************************
0 |, H7 g, A* g; Y/ r% a  'end销毁类
% \2 p0 V- L1 a5 U5 A* E$ j  '********************************************& ?3 e% \  k$ J3 [. X6 N
  '******************************************** ! u: ]9 Z) S5 Z+ e- ?. ]
  'begin将Ansi编码的字符串进行Base64编码
# M0 ~- k9 F# x: c$ k+ y# r+ E  '******************************************** & V0 N1 r% J7 L
  public function Encode(paramString)
! g# i, _/ h" E8 H. E, @0 s- k2 d* S3 K  tempString=""
3 i/ _6 \5 X+ a; S. x& \  returnValue=""
4 [& f2 ?# o8 G( z  lenString=len(paramString) / s' c4 x& Y) I( F" v
  if lenString<1 then $ T( E3 B2 H8 B3 v
  Encode=returnValue 8 ^) y. s5 r$ w/ U# `. F: z
  else
) E- \, P7 J5 o8 a1 D6 Z  mod3String=lenString mod 3
+ J! X# D* `2 V* q- z% w/ j  '补足位数是为了便于计算 : o: j/ A% J+ v. j+ l9 ~
  if mod3String>0 then 5 H$ ~7 l( |1 r0 Z  w8 v
  lenString=lenString+3-mod3String 9 V( Y; s) q$ }
  lenString=lenString-3
. E9 F, @. U) x- i8 U3 S* N  end if

返回列表