返回列表 发帖

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

class Base64Class
0 ~1 `6 c  S2 C. z" c  c5 H  rem Const
% ^) @  _7 l$ X& O/ q" w  dim sBASE_64_CHARACTERS'转化码
& [# ^! ?3 G' K: J* E; m" J2 z  dim lenString '计算字符串的长度 6 T2 j* U% W# c) K( W; h' n
  dim iCount '计数器 / P. X0 P4 q# A1 V- p# N- |
  dim returnValue '返回值 7 N" y# f; L( H
  dim tempChar'缓存字符 4 h; o2 o. I' o- `7 [  k* g
  dim tempString'缓存字符串
) |$ P2 W: [4 r1 Y8 N( k  dim paramString '参数字符串
1 _3 }& q7 j7 ~) q+ z& q: w  dim temHex'缓存缓存十六进制 - a0 m1 Z1 O: ~* N& x  [3 ?
  dim tempLow'缓存低位 9 L- O0 [5 S/ C% Z& E1 V
  dim tempHigh'缓存高位 8 V, y( n% E2 i" s& P
  dim mod3String'
7 V' f: `+ f. T# [5 n1 P# F  dim mod4String' : ~+ x5 S; t) ^$ L- ~2 |3 b
  dim tempBinary' ( ^* M) z+ O) O. V+ C
  dim tempByteOne' 3 M" }+ P' ?; D1 W  T
  dim tempByteTwo' 5 B+ J0 R4 k. T
  dim tempByteThree'
% T; P9 @2 Q  e. u9 ?) N1 D4 f" k1 J  dim tempByteFour' - a1 f) Y/ ^, E6 S2 q  E' B
  dim tempSaveBitsOne'
1 A, o& s( x& g9 \2 H  J3 z3 |2 K  dim tempSaveBitsTwo' " V# L9 ]& h) F5 K: A( R* L
  '********************************************
6 R/ ?9 H0 k  P  'begin初始化类
* v3 `5 E, S) i6 C) _  '******************************************** 9 X1 _$ I$ `4 d; H
  private sub Class_Initialize() ( p  z- _, {9 S0 Q- ~
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
$ z" T/ V. y) W* w( W% S  '******************************************** 6 E9 ], r0 V3 x. l: e/ ?
  'end初始化类 '( C) V: b8 T- Y  G3 N4 |
  ********************************************
4 _3 J* j" g# E3 ?5 s  '******************************************** 7 @  E0 o- g! U7 I! ~" x  P
  'begin销毁类
# R) Y0 A5 T' Z" R  '********************************************
# E7 L/ _1 K% I. B% ^1 w, e) ~  Private Sub Class_Terminate()
- Y( }& p; p/ j& ?$ P" ~! y  sBASE_64_CHARACTERS="" end sub
: _% @7 P$ E3 k' F0 u  '******************************************** ; b% @9 {! T. U' @, g
  'end销毁类
) N; m5 y3 v0 w. `- W: [  '********************************************$ \6 n! g8 Z/ P+ e
  '******************************************** / @& Y' |+ A; G; p7 v/ c
  'begin将Ansi编码的字符串进行Base64编码 5 h- L) X! F! i- h: v6 O" L# u+ C5 S
  '********************************************
8 P: M* a: m" o0 K: a$ x3 U  public function Encode(paramString)
  Z0 g' T% t* j  tempString=""
. G6 ]4 b/ A) Z  returnValue=""
7 V* H* B8 @' d5 z" p$ f  lenString=len(paramString)
0 k& g+ k+ C8 }  if lenString<1 then * R% p; ]( r' B6 f/ a! a  ^2 n
  Encode=returnValue # t! }5 J" e$ ~  e; H, d3 a
  else / y7 i; g# s- G' s/ U" ?6 w+ y
  mod3String=lenString mod 3 " {" b: p2 [  {
  '补足位数是为了便于计算 5 @" u* H# P; D4 F
  if mod3String>0 then
$ E1 q* d6 ]3 d1 E4 @$ }  lenString=lenString+3-mod3String
; A/ h9 w' ~/ |/ D3 P: U  lenString=lenString-3 4 \% R3 f) T% r& A
  end if

返回列表