返回列表 发帖

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

class Base64Class% t7 @3 k+ W* X( R
  rem Const   e1 h2 C- k; m$ O( j( j
  dim sBASE_64_CHARACTERS'转化码 6 [; o( I* @7 y! V2 u* C
  dim lenString '计算字符串的长度
+ b* R! _* J; [6 u/ M! [* H  dim iCount '计数器
. D8 n2 K2 K/ z  T1 I  dim returnValue '返回值
, O# B( s5 g; P7 z% k  dim tempChar'缓存字符 ) J  k. K1 c  A) K) w$ k! P6 J' I
  dim tempString'缓存字符串
: }1 a- O; u7 D4 e8 M# B( k  dim paramString '参数字符串 : q% _: \! ]" c& M1 O; F4 {; N6 s
  dim temHex'缓存缓存十六进制 9 j' ~7 l! L6 P% h
  dim tempLow'缓存低位
4 o* c% L) c$ A5 q! Y% G2 l2 V  dim tempHigh'缓存高位 0 n7 W$ b( }# ]6 e
  dim mod3String'
8 C- a& E5 I1 v  `# c5 g. e" A  dim mod4String'
0 e; q$ D9 B* M  dim tempBinary'
2 `3 K, ]: [- A6 @0 @  dim tempByteOne'
. k; z* J0 j' l  U$ Z  dim tempByteTwo'
9 R0 K8 r$ K4 Q  dim tempByteThree'
6 z. [- P3 S5 ^5 f  dim tempByteFour'
) u% p- H* y! [. E1 t* w2 K, \# ]  dim tempSaveBitsOne' ( R9 K5 I# D  J8 w# `: q) x
  dim tempSaveBitsTwo' 2 c5 e% F2 H! Z1 D1 c
  '********************************************) E6 N* h* G5 {% I
  'begin初始化类 ) K- s, P0 b. A) O! \& p' J
  '********************************************
6 ^9 w$ [" r5 `$ q- U, Y5 e/ }  private sub Class_Initialize()
$ n& J. _3 |8 |8 d% B: J5 z9 Y  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
$ x8 _& m9 U+ i( ]- K  '********************************************
0 K3 o" m8 x+ t8 R. |: B  'end初始化类 '! B* m' U" u: i+ f+ K; v( r
  ******************************************** * O) v/ z4 N& R) i6 A4 C
  '******************************************** & n8 p2 [, M/ v4 w
  'begin销毁类
2 i( }& g% j  r1 Y  '******************************************** ( }1 n9 |) Z9 Y7 q5 w2 r0 h
  Private Sub Class_Terminate() : I  A3 O9 t' S9 p2 n. Q
  sBASE_64_CHARACTERS="" end sub
0 u+ z8 p6 _( j3 H0 Z. h: L* M  '********************************************
  E) X& r1 q% e8 u/ c  'end销毁类
# `1 G3 }1 Q# n! c5 j  '********************************************
* z, k% c( O  d0 {4 e% j4 B  '******************************************** / B% i# ^6 M: n4 S# p$ S
  'begin将Ansi编码的字符串进行Base64编码 5 C3 X- J* y+ u' I% U+ o. n
  '******************************************** / h. |3 L1 u. x# T1 i+ L8 V
  public function Encode(paramString) & ]  [7 ^; v0 n" F% E% q
  tempString=""
) |9 k' h9 d0 Q5 m( h0 Y  returnValue=""
2 N# o% Z0 W: k  Q& x: i7 ]" M  lenString=len(paramString) 2 O( o" }& F5 t# R+ P9 Z( X
  if lenString<1 then 7 E0 k! P& `$ A: O6 b% M/ p3 W
  Encode=returnValue
' c. E% k; e* {( p  else , h& y6 {: m4 @: E
  mod3String=lenString mod 3 ; e$ \  Y" U6 z
  '补足位数是为了便于计算 ( q. T5 y& a' m
  if mod3String>0 then ' P0 e0 P, C+ U7 K
  lenString=lenString+3-mod3String
2 Q5 \: _# ~4 g: s7 R& t9 [8 W3 J# b  lenString=lenString-3 7 n. J$ `' S0 u+ o$ Y0 y9 D
  end if

返回列表