返回列表 发帖

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

class Base64Class3 _: F7 U$ Q+ X5 }6 T! C. v( m
  rem Const % l+ O# X0 [  c
  dim sBASE_64_CHARACTERS'转化码 0 u% I0 m- z3 G6 X# @/ M/ i/ U: z
  dim lenString '计算字符串的长度 " j& f2 D. W, v& @* g
  dim iCount '计数器
' h$ r- Z9 W9 M& ]7 K+ G  F0 t  dim returnValue '返回值
. n7 `. U2 F- l; U  dim tempChar'缓存字符 1 {( q7 N# I* Q3 R* q5 ]
  dim tempString'缓存字符串
8 d/ @/ F* k) y; {0 s- h3 D  dim paramString '参数字符串 + G! k: t2 C  ~
  dim temHex'缓存缓存十六进制
% x9 d  T! Y* N$ k+ u$ d  dim tempLow'缓存低位 % m- l& `( k, q& L, p
  dim tempHigh'缓存高位 1 a8 Z/ |4 u+ U; F8 c: j( J
  dim mod3String' - b( o0 N7 o/ A% t: T
  dim mod4String'
5 e: n& n1 B4 \" K1 {  dim tempBinary' & Z$ E: U# }! g- ^/ |
  dim tempByteOne'
7 r# |& g  m! N  dim tempByteTwo'
/ p; B! l5 F; S* ]  dim tempByteThree'
  t! _& ~7 P* A% k& z  dim tempByteFour'
" U. i  _; y. v) ?0 O- |  dim tempSaveBitsOne'
1 k* r: Y$ F) h. _  dim tempSaveBitsTwo'
: u- b0 [" ~+ g! X+ U* {3 |5 X- j  '********************************************
" N* H( D) h9 p0 k8 h2 i- Q/ d  'begin初始化类 * f' l' O; |* r! v
  '******************************************** ) |7 ?" p) W/ z$ [
  private sub Class_Initialize()
9 e# X" i* R5 N/ ]# g" S  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
. C- X3 |) {' g  '********************************************
# B! n, c  t8 ~8 ]- l* G2 B  'end初始化类 '* O! ]# K. ?9 n$ U! q7 x$ I2 [) r
  ******************************************** 9 A) [9 X* ]/ k0 ^
  '******************************************** % F0 V! Y4 w6 a: C* R/ @1 u
  'begin销毁类 ( F# v4 f1 e- ^  w
  '******************************************** - c6 `6 S4 i4 s  I  [
  Private Sub Class_Terminate() 9 Z0 Z! ]0 E  p) u0 |
  sBASE_64_CHARACTERS="" end sub
7 U6 H3 Q2 s% b  '********************************************
+ d& ~9 G. B2 y6 }! g: O5 A! U! T  'end销毁类
6 z& T' K! M- Z! A. P5 Z3 J8 Z  '********************************************: a" F& R: w/ V! }
  '********************************************
, ^% z; z3 Z2 g8 h- R8 t  'begin将Ansi编码的字符串进行Base64编码 4 U  G/ g- g1 u) c+ o
  '********************************************
4 d! }% Y1 z4 j6 C+ A6 b  public function Encode(paramString)
, ^# L. r' S  M1 K1 w  tempString="" 7 b2 t% Z4 K( p7 S
  returnValue="" 8 n% f4 w3 I: R# i
  lenString=len(paramString) ) h' l9 r3 \4 B& @
  if lenString<1 then
3 s: t: k# L  v. F3 p/ l3 z( M5 A  Encode=returnValue
% v* M  E6 d- l& H0 u0 f5 @1 U  else : R2 R1 @5 I! D$ f7 t
  mod3String=lenString mod 3 * u7 C  b% `" O! ^  Q+ T" d8 T
  '补足位数是为了便于计算
" R; ~4 Q/ M8 C7 M) O  if mod3String>0 then
  v. [7 ]" `4 x+ X0 k  lenString=lenString+3-mod3String
5 |7 k; W+ X, N( K. T2 C+ {- A0 @  lenString=lenString-3
. F) a6 c" O5 c7 N, z  end if

返回列表