返回列表 发帖

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

class Base64Class
) d& V0 \% X2 T  rem Const
; k0 J' \& H2 i! V& N- R* g  dim sBASE_64_CHARACTERS'转化码 + p4 J1 s; J! {- D
  dim lenString '计算字符串的长度 ' M# G2 T- W: n5 ~& I, z
  dim iCount '计数器
' A7 n% @+ G( G; ?9 U  dim returnValue '返回值
# W3 r( C4 C# f* q$ M. V  dim tempChar'缓存字符 & }$ J. @. q$ V, B, J" [) R
  dim tempString'缓存字符串
* ~4 U8 I! K) |& ?5 b  dim paramString '参数字符串 # e3 i0 Q% P& T+ v
  dim temHex'缓存缓存十六进制
! k6 O: O  L! H2 I% ?. i; Q  dim tempLow'缓存低位 9 m9 K: S+ ?6 l: ~
  dim tempHigh'缓存高位
2 N4 M& B: u9 _4 b/ A- t  dim mod3String' # p5 {* l% L* Z5 z3 S0 T" L
  dim mod4String' 2 @( j, M- X, `: b
  dim tempBinary' # N  w" |( F6 [! K. f
  dim tempByteOne' : ]0 c( f. {7 t; @5 _8 u
  dim tempByteTwo'
% J$ G, K- {# K3 W) S* D9 U  dim tempByteThree' ! o* W8 E' R3 U8 j+ @0 \
  dim tempByteFour'
8 z5 s7 r3 B5 {; r7 |' C  dim tempSaveBitsOne'
. M1 D& M. [- [3 b! e& @1 a  dim tempSaveBitsTwo' + j( x$ y4 g1 w
  '********************************************
  X2 I- S6 }. j" p6 }% D  'begin初始化类
' Z" `) f# v- a9 u$ Q* u3 Q0 j' p  '******************************************** 1 i( e# [" ^' a
  private sub Class_Initialize() 1 I$ c* A/ w6 o
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub ; _) z( Q$ |) ^, C
  '********************************************
. X# G' M6 \2 m- {/ a4 v  'end初始化类 '1 ?- }' J% W$ {( b7 E7 X' _3 A& s4 `
  ********************************************
' W! i- h8 m, y+ ]  '********************************************
, O* M" V3 \1 y5 f7 \  'begin销毁类
: X* z  |% ^1 N5 p1 h  '******************************************** " Q' Y% W! q, z4 V6 m# r- K
  Private Sub Class_Terminate()
4 y* S2 c) t4 }1 m' I9 f  sBASE_64_CHARACTERS="" end sub
+ l0 g4 O6 E& m* i6 F  '******************************************** + y; o! U# I. t2 b
  'end销毁类 9 U$ U4 Z! E  @, N8 C  r
  '********************************************
5 m+ j  x- g( B6 \# s& h  '******************************************** 8 D% X% q4 V* c4 n  ~: X$ }
  'begin将Ansi编码的字符串进行Base64编码
* P) ~! p) W% n: w: }  '********************************************
, E' t# T, ]. V. R) \: A  public function Encode(paramString)
6 E4 I( H# L" F2 @  tempString=""
0 J* }2 H8 @! H+ Q  returnValue=""
/ q/ D" Y& Y) [' Z, m  lenString=len(paramString)
( D; x' @0 u) L" t+ ?  if lenString<1 then * J, R& x1 B8 w  Q
  Encode=returnValue * D/ h/ W6 Q' d# f8 @/ u
  else " F# m- m/ s( W8 |, t/ Q: e+ q
  mod3String=lenString mod 3
( I7 L7 H/ v: I  '补足位数是为了便于计算
( t, r, @2 _; e3 w  if mod3String>0 then
2 H; y" x1 V/ i4 q; B  lenString=lenString+3-mod3String $ w& P$ q) e* q; J9 r$ s
  lenString=lenString-3 . l# B3 a2 q0 q' c; b
  end if

返回列表