返回列表 发帖

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

class Base64Class
  t- a6 n3 r3 e" @  C/ l  rem Const
, V9 w" r9 r: P' W  dim sBASE_64_CHARACTERS'转化码
3 a9 m5 F0 Z( f" u' o7 K  dim lenString '计算字符串的长度 4 L, |. P/ B: \( o; ^" I
  dim iCount '计数器 / Z8 ~- R2 k3 b3 d4 g- _
  dim returnValue '返回值
; C" Z/ ?$ c# ^% e( [; W( J  dim tempChar'缓存字符 % M+ D; N) p1 A. e: Z
  dim tempString'缓存字符串 / L* q  J' U, _9 g
  dim paramString '参数字符串
( ?$ ^; r- U5 L" j& i  dim temHex'缓存缓存十六进制 ; W  F- |, \! P$ x0 Q; U7 k
  dim tempLow'缓存低位
( f7 r3 s  k& f8 i9 m, d# j: Q  dim tempHigh'缓存高位
5 [$ n5 ]& u4 I  v# n! F' B  dim mod3String'
7 p" u* m- V/ o! U( p' z  dim mod4String'
1 N+ b: q( k4 @# G- i6 E& B  dim tempBinary'
, q$ n5 `& P4 B  F  dim tempByteOne'
6 p3 F8 \$ b+ T1 }  F8 j  dim tempByteTwo' / J" S/ ~- `0 ?" }  y, R8 @9 a( m
  dim tempByteThree' 3 `) I( }5 A( T! \9 w
  dim tempByteFour' 7 M! P- q, p6 ?* V% ~' c
  dim tempSaveBitsOne'
1 l9 X  V2 |8 u8 D. q  dim tempSaveBitsTwo' : C' ?2 c# X# Z( ?$ E3 j# ~
  '********************************************
* c9 D& h) o0 H7 ~( N4 q  'begin初始化类 # g4 r8 Y* g. N( l' e/ y! t; @
  '********************************************
4 A% U% [& G; _+ s4 @3 G" h  private sub Class_Initialize() & [" L6 w/ E2 s4 p/ ~) ^0 x, T
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
1 L* \  A6 \. Y3 q7 e" E2 `4 f2 f  '******************************************** 9 ], |. K, t$ R% C: N: H' |; U
  'end初始化类 '
0 U; n; x6 C& M% h% G  ********************************************
# h6 B6 P) \5 f$ W( G  J  '********************************************
  {3 a" J# K  L0 [3 B- x  'begin销毁类 4 L8 z5 A, N% P5 {9 J
  '********************************************
$ X2 X0 S3 `$ `* X/ ~9 F  Private Sub Class_Terminate()
- j3 |6 M# W! L% S& W6 J  sBASE_64_CHARACTERS="" end sub & M& S) y! W- N) f
  '******************************************** $ Q0 V" P3 S7 M: \  t+ S
  'end销毁类
4 N3 J3 w1 h( x( ^  '********************************************
; }) V1 \: C6 [( M  '******************************************** " i1 L5 e$ o& i% _# a6 ~+ B
  'begin将Ansi编码的字符串进行Base64编码
$ F( u6 f# ]$ K3 U4 b  Z- |  '********************************************
2 z- h: k9 i& t  public function Encode(paramString) : R" }' i( K$ B; j" K7 _- d  U
  tempString=""
, t+ ]4 F8 |" i4 U) N  returnValue="" 1 l  b# I/ X/ I
  lenString=len(paramString)
  g: X' Z9 f) i  if lenString<1 then   ]" Y+ l. w% _$ `2 p$ `% B* u% Q
  Encode=returnValue 5 q! h+ V6 {$ i
  else
+ U! ]/ Q! m8 U% K2 T& k  mod3String=lenString mod 3 + F9 s3 F' w$ }/ N0 A' G0 ~: Q# ~6 I) E9 ~
  '补足位数是为了便于计算
3 g3 Q! V1 V- l( J# T# Z) Z  if mod3String>0 then
8 f0 `: L. z& h* q( A6 z; k0 m  lenString=lenString+3-mod3String
3 c8 b/ Q% f$ O; y2 d5 J6 {  lenString=lenString-3
/ K5 @1 c2 {' u2 c* M7 }  S6 v  end if

返回列表