返回列表 发帖

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

class Base64Class! K  P/ d2 Y3 Z, E8 d4 F, ]" A
  rem Const ) b% ?6 K+ _0 C1 R; Y9 z2 i! {. G
  dim sBASE_64_CHARACTERS'转化码
) X- R* u0 i& _5 l4 Z* t  dim lenString '计算字符串的长度 3 @& m9 K& }+ A7 O
  dim iCount '计数器 . r1 i/ h% u% l1 \
  dim returnValue '返回值 , T% {. E5 v' [/ `
  dim tempChar'缓存字符 8 W: i1 P3 F* P  J9 M# {* @6 J
  dim tempString'缓存字符串
7 J* e# f- @1 B* O* v# y  dim paramString '参数字符串
8 f  }+ X+ x' k# ~2 g. u( B$ v2 R: n  dim temHex'缓存缓存十六进制 # D; f. z5 p: }: i
  dim tempLow'缓存低位
4 c* L: M; v; O  dim tempHigh'缓存高位 , U( v& ^* k/ B0 K. t
  dim mod3String' , @5 q. z1 a3 s. d
  dim mod4String'
# n* _+ {" {3 h) K6 V  dim tempBinary'
- c+ ]+ w( `) W; I' B* j  dim tempByteOne'
  I* y4 Z. q9 y  dim tempByteTwo' 2 g# w9 |( U! s  h; h
  dim tempByteThree'
5 y! W0 G7 k3 r4 ^% [  dim tempByteFour'
2 U: Z( c5 S: {9 T7 ?% S9 m  dim tempSaveBitsOne'
% E0 b3 ~; \1 T* r  dim tempSaveBitsTwo'
: ~: f' c- G' k# {  '********************************************
3 H( s5 \. P8 v& u7 V0 V  U  'begin初始化类
" G( J3 _* m1 V, D6 |' E+ a0 {( X9 u  '******************************************** ( |7 e8 e/ m  L" J" g5 S/ m+ z
  private sub Class_Initialize()
0 h0 v" J$ _: ?! i; J6 b" V2 N  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
( H; e4 a  W1 B- v  '********************************************
9 s- N/ ?: ?/ X" k) P  'end初始化类 ', p) G/ t* ~9 U: Q- S
  ********************************************   P! n8 `0 b- H% I* o+ k" Z+ d+ Z
  '********************************************   r) E! l# B. P+ }9 q- {
  'begin销毁类 % T. X; \' p' H3 `7 o  W' ~
  '********************************************
( H% s  f- @$ ~: W. p  Private Sub Class_Terminate()
4 J8 B2 l% ~6 W0 e  sBASE_64_CHARACTERS="" end sub + w. z  h; G0 D
  '******************************************** " ]; [) q# m+ ]/ w& E( g3 G. p
  'end销毁类 . Y0 ~7 Y. J) X8 g9 i' V2 U7 `) F
  '********************************************
- D$ @$ t2 X& p4 `  '********************************************
6 N8 W- D, @  {" C! E6 S: B  'begin将Ansi编码的字符串进行Base64编码 - g1 w/ I$ [) G5 @. x6 R" G' x' o
  '********************************************
3 A7 I* b! \3 m3 r2 {- B- ~4 F& ^1 E  public function Encode(paramString) 0 S0 K: c8 Y8 C' c0 v
  tempString="" $ ~+ d( @6 ]  M* N
  returnValue="" 2 N: G1 ]+ ^7 c% I# `/ e( N
  lenString=len(paramString)
# H* u( X5 X6 L; p) |: L  if lenString<1 then
( B' V7 E7 \6 N; K  Encode=returnValue % o1 h1 j. h& n/ B* w. V2 I
  else
1 L' G/ x6 y( k% @1 q  mod3String=lenString mod 3 : y  K( _* {# a3 r( O
  '补足位数是为了便于计算
& x1 [. [2 a  u0 c& p0 \  if mod3String>0 then
1 Q8 U& l1 p% s3 X* G  lenString=lenString+3-mod3String
+ N: t3 e% |- `! t/ x; E- e  lenString=lenString-3
2 |9 y7 Q& W! `& G- ?  end if

返回列表