返回列表 发帖

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

class Base64Class  e+ w( p* e4 y0 V! M
  rem Const
% m$ g, i8 ~* l3 Y  dim sBASE_64_CHARACTERS'转化码 ) B1 Y# E8 ^, C- Z4 B. m2 c. Z
  dim lenString '计算字符串的长度
1 q) L2 ?& _) \% Q/ E  dim iCount '计数器
+ u3 {3 G5 Q4 a3 N  dim returnValue '返回值
0 |  B7 d: D8 q  dim tempChar'缓存字符
; l8 @5 i  h& u9 b9 w4 J, @  dim tempString'缓存字符串 & h0 ^4 m; X- Q( M9 Z3 `
  dim paramString '参数字符串 3 b2 Y  g) J, D7 i$ k0 a# D0 W
  dim temHex'缓存缓存十六进制
) q9 Y( k3 O$ I5 I" [9 Y6 B2 d  dim tempLow'缓存低位
: }$ U7 M2 n" t. j, N( Z7 s  dim tempHigh'缓存高位 ! ^( d. I+ \$ Y' ^6 _+ {
  dim mod3String'
& H" b* |8 D8 [6 r6 {" K% w! |# n  dim mod4String'
( W6 T  W5 ?1 o% E- p  dim tempBinary'   P# o5 Q0 x2 i# l0 M: i/ Y; _
  dim tempByteOne' 8 \( E2 F9 _/ |8 b& U# C* p8 J/ B
  dim tempByteTwo'   B4 ?( g7 C; x! m* ^4 a9 A
  dim tempByteThree' 1 Q" z! d1 S% K/ r) `& s
  dim tempByteFour' 5 \5 _' o7 x& l! ^9 S; I: _. {
  dim tempSaveBitsOne' 0 L' D; _! b+ `1 \' Z! V
  dim tempSaveBitsTwo'
. @0 R5 ~; P& R* }* [: i  '********************************************
0 y% B' p5 B% A  'begin初始化类
' S( `  O! w( c" X) w6 I  j  '********************************************
+ b8 ]! S+ q2 i  \; u9 |# u) ?  private sub Class_Initialize()
2 {# W5 n6 S; t: x  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
- A' o5 y7 q9 [5 P, c4 \* X  '********************************************
4 ?( I4 x: K5 ^  'end初始化类 '
0 H2 p7 M; X* W5 c# C2 ?+ Q) L# c  ********************************************
  G( I* c  C$ A, C# L8 }  '********************************************
0 i# ^) x/ Y" i' w, |, x4 l  'begin销毁类
5 G% b7 I7 d9 I; ~4 p  '********************************************   X' P( t% |4 S' n! L
  Private Sub Class_Terminate() * {+ b' F1 }9 Y! r% X" ]
  sBASE_64_CHARACTERS="" end sub
8 x' H1 n" A$ h7 [  '******************************************** 6 R. e9 O9 o6 i! U. y( N/ I, i. q
  'end销毁类
" E& A# g1 z+ b5 \$ D7 I4 X  '********************************************% K- y' g9 t7 {2 C5 C# w* g
  '********************************************
- `# C3 g+ k- T; a- I  K+ q  'begin将Ansi编码的字符串进行Base64编码 , `2 N8 J' C, _/ q, `1 ^
  '******************************************** * W8 s0 R1 _% E5 I
  public function Encode(paramString)
' Y* {6 h  M7 Y9 }# z  tempString="" ! z) j$ p. G) L
  returnValue="" 3 s2 h! A/ M$ I; U
  lenString=len(paramString)
0 W: @0 ^3 ~8 w" U2 r6 j  if lenString<1 then # e9 c- s9 ^7 t
  Encode=returnValue 2 s. r2 A! ^0 w- T
  else & [+ e& V3 }: B$ m& N9 F
  mod3String=lenString mod 3
. r7 T$ K3 ~( H/ u  '补足位数是为了便于计算
6 Z" M/ L/ P' G6 s+ w* A* s9 R  if mod3String>0 then 9 o/ T0 r! f+ l
  lenString=lenString+3-mod3String
) H- T5 D/ b6 P% k; j, ^  lenString=lenString-3
" U- l2 {4 H1 Q. x. y1 x, i! b  end if

返回列表