返回列表 发帖

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

class Base64Class
% ]% g6 L1 I. j% _7 D8 p/ p  rem Const
' f" t" e: n* ^. N4 \4 h3 n8 u$ a  |  dim sBASE_64_CHARACTERS'转化码
$ d( F. t  E1 Z9 A' p  dim lenString '计算字符串的长度
- F- x; T0 ?8 a  R5 K5 k5 R# _6 Y# i  dim iCount '计数器
9 R: k! |$ {& q, Y  dim returnValue '返回值 1 h' f* o# U5 B
  dim tempChar'缓存字符 # w- l. ^0 v7 j  K
  dim tempString'缓存字符串 ( e" d$ y) k6 s  w, S5 A; p9 F5 S2 u
  dim paramString '参数字符串 , j* z1 `: c! D, Z1 C8 k
  dim temHex'缓存缓存十六进制
7 d# L1 E" N- ?* [6 v- Q$ b6 D) W  dim tempLow'缓存低位 1 e0 |1 o$ c: P
  dim tempHigh'缓存高位
! I: p- i& _# b, [& Q" ~4 J* U  dim mod3String'
3 V3 E! R' u4 I& Y1 j' T+ k3 I  dim mod4String'
* E  x, z) I, L( |6 a. Q  s  dim tempBinary' # m0 e! s, }8 f# \4 a( Z& z+ c
  dim tempByteOne' * j% a, D9 J" x
  dim tempByteTwo'
0 O) V4 p1 O2 \. F/ @% |  dim tempByteThree'
  k' U3 @4 u& ?9 v  dim tempByteFour' - `! B& J2 l! C) U$ O8 j) }9 d) b
  dim tempSaveBitsOne'
3 `! v, x2 q% V1 G  dim tempSaveBitsTwo'
1 t9 W# A1 ~# g& k1 g+ q) O  '********************************************
; h: S. ~6 t+ X+ ^# ?( g  'begin初始化类 4 @1 g; X& S7 W+ \$ e" a2 J
  '********************************************
% t8 |$ b* O* Y0 h  private sub Class_Initialize() 3 E9 H9 x% s3 ~5 [3 ^& G2 M
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub 7 x+ P5 c  H5 J- ?
  '******************************************** " x& D# j5 c9 k4 c' T2 N
  'end初始化类 '6 }) S, N' B4 Y0 ^$ ~$ c3 x8 R
  ******************************************** " F# Z3 \6 l% V8 q) e
  '******************************************** - s  c4 C0 t7 Y9 e1 q! P
  'begin销毁类
, k* n' _+ ~6 f8 Y" F  '********************************************
2 J' K* m) T' u: ?  Private Sub Class_Terminate() 3 k- f! Y% Z1 g: f
  sBASE_64_CHARACTERS="" end sub $ a9 {/ l6 `1 E7 B
  '********************************************   f* w7 ?0 M, y* v1 }
  'end销毁类
: q+ \! |3 L$ p  '********************************************
- P+ D6 G7 a# k! ~# I0 ~. P3 X  '********************************************
  w' ]- n, E+ Z4 L2 n8 f+ |  'begin将Ansi编码的字符串进行Base64编码 ! M3 [8 l8 r- l, @
  '********************************************
6 R. n; N! g* H1 P  public function Encode(paramString) 4 B) Z. |. y. ^, q5 q! k
  tempString="" 4 F5 s2 c" F- \4 _$ b
  returnValue="" $ q: ?7 X" `% u7 I9 z
  lenString=len(paramString) # m  X: C& `; U% C7 ~+ R
  if lenString<1 then
5 @8 z; s. e" ~+ R; F: j  Encode=returnValue   o  e8 \* a& w1 y6 k
  else
9 j! }1 a  `5 }2 N) [. l0 |  mod3String=lenString mod 3
/ Q) F( E; X, Z6 s5 Z3 q3 `  '补足位数是为了便于计算 ' p5 l! i8 f# H4 p. W6 Q
  if mod3String>0 then ' J+ s# y  L1 b* C9 I0 G+ J
  lenString=lenString+3-mod3String
8 R+ c( P" q& y' e- w" Z6 J  lenString=lenString-3 # S3 j) V' r4 M
  end if

返回列表