返回列表 发帖

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

class Base64Class; ?  ~8 O: t( X5 s
  rem Const
- u# E) `3 V4 w8 V! w  k' b  dim sBASE_64_CHARACTERS'转化码
$ c7 x! e2 n5 |! }9 c9 ?7 R  dim lenString '计算字符串的长度
: G7 Y( J) |- B: g9 B- M" E# N2 R; b  dim iCount '计数器 , r" M4 ?/ k0 d2 I/ h
  dim returnValue '返回值
$ ]. E6 `0 X, I# h! G, V4 L  dim tempChar'缓存字符
" R1 m- K3 t; x6 k/ W  dim tempString'缓存字符串
/ I7 m& P0 j& u/ y1 O  dim paramString '参数字符串
+ I  ^; E: ^7 U* Z9 x, r+ ^  dim temHex'缓存缓存十六进制
2 y5 L6 I9 Z& s3 I' A8 l2 Z  dim tempLow'缓存低位 % @. Q+ ~" L! ~+ M
  dim tempHigh'缓存高位
  `4 g- I9 f% n, F+ ]' X  dim mod3String' 4 `; [0 Z: k# `: }
  dim mod4String'
3 B( \1 w. L- _& V: g  dim tempBinary' : s0 M6 U4 q( c) w- l
  dim tempByteOne' " a+ f/ l: g  ~( x6 ~! m, |
  dim tempByteTwo'
* E- ?, C" e: ]: a$ g* W7 ~3 R  dim tempByteThree' : y5 }8 ?7 |2 {4 L" X/ u
  dim tempByteFour'
& K) Z4 t5 C$ Y& t, H4 F  dim tempSaveBitsOne' 0 ]8 V' U- O5 w# g, i8 V
  dim tempSaveBitsTwo' ' L( l! h3 o" }8 }& i1 N8 ?9 A
  '********************************************
8 m# {: Y7 e5 G3 Z% |  'begin初始化类 $ M  n& O. Q; n
  '******************************************** ( M- T+ ]/ C* t. d+ _
  private sub Class_Initialize()
9 w, q( n* L! ^# G  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
( t+ z" q2 `( D4 d& R, M# }  '********************************************
* C' P/ b$ R' t' J4 t  'end初始化类 '. E9 }! z. Y0 ^5 k
  ********************************************
# E1 |( J4 {, l2 q& f3 ?6 @  '********************************************
4 A7 [% _) k2 D' Z, x  'begin销毁类
$ z5 C- A- N( v5 D: w( X, Z) X  '******************************************** 3 Z7 r- ?. c$ @
  Private Sub Class_Terminate() & @3 z1 B+ {9 G3 X1 A- e
  sBASE_64_CHARACTERS="" end sub
. N* W' K6 w3 {2 F- v  '********************************************
& A) Z! O! E- p. p$ B  'end销毁类
0 I( T, F3 V& V; N  '********************************************
3 u( W) H9 ^; |( M  '********************************************
5 y6 {' ?0 e2 v- |) L  'begin将Ansi编码的字符串进行Base64编码
: g0 w' l7 b. j) ?  '********************************************
! q  g, }/ W& S/ X+ |  public function Encode(paramString)   d: g; O- b/ K( k0 a1 o
  tempString="" 2 Z- j  ]! H$ e/ W. G
  returnValue="" ) N, l" ?- f" S' l' z, ^
  lenString=len(paramString)
. p# e0 s' [* ~6 ~# {+ U9 b8 Q  if lenString<1 then ) W6 N3 H! A8 d: o: F( K
  Encode=returnValue $ A) {8 N0 [4 s6 ~2 x
  else
( D1 O; r; J# i8 R% R0 c* y, k6 {7 ]6 @  mod3String=lenString mod 3 " h2 `3 |( a, A
  '补足位数是为了便于计算 1 e: t8 t- m" l% d1 o0 @
  if mod3String>0 then
* ^$ \! S; E) G$ A, N* G. `  lenString=lenString+3-mod3String
3 C) k/ x4 q2 [: S+ O) r7 n  lenString=lenString-3
$ O, ^6 V0 Q$ W  end if

返回列表