返回列表 发帖

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

class Base64Class" U% q9 k9 B1 U  Z! i
  rem Const ! F+ P0 K/ e$ h
  dim sBASE_64_CHARACTERS'转化码 2 ?" S9 }/ m  o) K- l. e
  dim lenString '计算字符串的长度
: e9 g" @) g+ C  dim iCount '计数器
- m1 h5 W5 R, H7 z  dim returnValue '返回值
, `: Q6 Q: F6 F" ]' c  dim tempChar'缓存字符
2 b+ [9 E1 I9 Q* ^2 v. D  dim tempString'缓存字符串 ' m' t5 u$ _% N5 }! ?. C! {4 n1 Y
  dim paramString '参数字符串 2 i$ s# L6 T4 O' y# ]" O$ c/ T
  dim temHex'缓存缓存十六进制 ( \5 N) g  x+ {7 ^
  dim tempLow'缓存低位
" v* c2 ^7 C4 C* ?  J# J  dim tempHigh'缓存高位 ! L. B. T$ q5 e1 H- U. h  ^: U
  dim mod3String' ! z" h3 b0 q  D- r0 p2 U, t" @
  dim mod4String'
% i+ F6 c5 O; ^- [! z! I7 y, ]7 M' _  dim tempBinary'
, a5 ~( X' ^3 c+ r1 [/ n/ s4 Z$ {+ g- a  dim tempByteOne'
) |6 A+ @- `3 |: I4 h0 d2 N; b& F8 G  dim tempByteTwo'   {3 U2 R2 ?2 k% r6 r% c/ v
  dim tempByteThree' ) g- |& @3 r# p: C
  dim tempByteFour'
" u0 q' z7 U* [5 L  dim tempSaveBitsOne' : J/ K2 Y, U# d6 z1 w9 x/ H; c) ]' C
  dim tempSaveBitsTwo' / y6 W0 j& ?, t7 L" G( Y1 n
  '********************************************
: i% j7 m9 H- x' n! ^' M( r  'begin初始化类
+ v& {- O) d2 |3 z  '********************************************
- w: A- S: v# g1 w  private sub Class_Initialize()
7 \, S9 ]2 Z7 M! P  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub 8 ?& X+ o3 t" j8 @; g8 N% ]
  '******************************************** : h3 d* p: k( j
  'end初始化类 '
) w( s* \2 i) M( _  n$ A0 u* L  ********************************************
2 p) I5 M5 C1 R5 P  '******************************************** 1 i* ^5 x; ^3 {
  'begin销毁类
% m3 P+ H, [. W" R8 }* F& P  '******************************************** 2 T1 P7 A" a& m# g( \1 o& P
  Private Sub Class_Terminate()
+ D( ~. J6 A" G) {- {$ F( y: b" W2 h  sBASE_64_CHARACTERS="" end sub
  V7 L/ G7 a- E( T" j$ a# R6 @4 [  '********************************************
+ S3 y0 e8 j. l$ I  'end销毁类
; x* @: v" T; p1 ~( W  '********************************************2 }$ W* Y0 [7 j9 I! i- X
  '******************************************** + l/ L: Y/ {" ]% K( I; a4 y
  'begin将Ansi编码的字符串进行Base64编码 6 ^9 w  K6 K* f; K, V; u) ?9 u. b
  '********************************************
! V: J- B( O  [1 m2 I2 b" w! Q" J  public function Encode(paramString)
# u! o# T0 F1 j% A7 ^1 y  tempString=""
6 h$ Y: v2 w! N" X. G8 g  returnValue="" 0 c8 I( e  q7 {, B0 X
  lenString=len(paramString)
! W& w6 O! E, R" B1 u. ?4 ^  if lenString<1 then
( Q8 {( J1 j' E2 c& }% `) ]1 R  Encode=returnValue 0 |! S9 I) s5 M  r$ _2 B: n3 N
  else + O& {1 }) d+ ]5 A1 A
  mod3String=lenString mod 3 % E% f* Q* m' m
  '补足位数是为了便于计算
0 u1 D; c% N! M) V' p& y9 `  if mod3String>0 then
3 ~$ v) A' x9 Q  lenString=lenString+3-mod3String
% B+ A+ L6 \* I; f  lenString=lenString-3 & q7 d$ R5 y2 N/ W& o0 v
  end if

返回列表