返回列表 发帖

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

class Base64Class* a0 L9 P! F, k5 Z, i9 Y1 }6 {
  rem Const
" B7 h8 S3 Z/ p  U% S% c* j  dim sBASE_64_CHARACTERS'转化码 ' w/ v( D, A0 D! V1 f! v
  dim lenString '计算字符串的长度 & p& z* r! T* y
  dim iCount '计数器 . q/ n: `" O9 c  A$ d4 k
  dim returnValue '返回值
* j) U/ O2 O$ m7 A' L0 ~4 i' I: a  dim tempChar'缓存字符 ; M) D; U* G0 G
  dim tempString'缓存字符串 4 k4 M, X% e9 j8 }$ N, G' _
  dim paramString '参数字符串
  [& ~" y/ Z; y% G+ k# p  dim temHex'缓存缓存十六进制
; R  G5 o8 D5 f; _2 J4 E  dim tempLow'缓存低位
  F, y3 p3 p8 _% ^% {# \( B  dim tempHigh'缓存高位
8 Q4 i2 n, ^' _( B  dim mod3String' 6 U# Y$ p% _  i! `0 |  S6 W- K
  dim mod4String'
/ c5 E6 O( g. n2 x- y  dim tempBinary' 5 ]* [2 [3 @8 a) g
  dim tempByteOne'
4 S% P5 H7 k" Y+ s. c  dim tempByteTwo' 2 a; x3 z: J! h9 M7 ^& N
  dim tempByteThree' # M; t7 s- B) ?  K
  dim tempByteFour'
- R- H+ x1 Z1 d! ^3 _" S/ C  dim tempSaveBitsOne'
" k& E6 s) }. k) ?# B. m* Y* b& E1 b  dim tempSaveBitsTwo' : {. ]5 _" E/ @! O
  '********************************************+ i5 `* A- i7 }2 T4 ?
  'begin初始化类 $ `. K6 |$ R! F5 n) U: D  o* p
  '******************************************** 3 H) g$ P6 g$ P$ ~" f1 W
  private sub Class_Initialize()
- \- Z+ x- b; ?/ T4 Z, o: W  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
+ O; V! S+ f  y  N1 |7 K) l2 p  '******************************************** 5 l7 Z6 l/ a- h9 w  q; v/ H4 n
  'end初始化类 '  V& O' J$ v3 Q& M
  ******************************************** 6 F1 U+ L) M# e' k. x7 J7 s- q
  '******************************************** 9 @' H0 X3 u/ s4 V$ T- ?
  'begin销毁类 3 r- c2 F1 o; T: ?! n4 l6 U
  '********************************************
& J% E; l0 z# G1 o  Private Sub Class_Terminate() 1 b. p* ^* m2 c2 _' J0 [
  sBASE_64_CHARACTERS="" end sub
( v1 i6 b  ^- D. K* m9 ?  '******************************************** ; }( c4 s9 _6 L) q- y/ D- E3 ]
  'end销毁类
: }$ m7 m* H0 q$ }1 l# ?  I  '********************************************
8 s8 l' [$ p$ b( T" S7 Q- L  '********************************************
- A" k2 L3 {3 x' {! Y$ z  R  'begin将Ansi编码的字符串进行Base64编码 9 f! F- P' W% |6 s! ~5 L. L
  '********************************************
/ P3 C- A  l2 P  G" p2 a$ ~  public function Encode(paramString)
6 D3 Z$ j, W0 o( _( Y. z  tempString=""
) @4 J7 w+ ?2 @# B0 w+ R/ H  returnValue=""
0 J% R) o  H# X, p3 _% H  lenString=len(paramString)
( T# d3 A( Q3 D/ ]5 q  if lenString<1 then
/ q( M' r- J" }$ B; @  n  Encode=returnValue & F1 S, K2 W* w; K0 A
  else ! P0 \6 n- R7 o5 Q2 e
  mod3String=lenString mod 3
/ p+ s, e0 V" d/ y! N1 j  '补足位数是为了便于计算
2 P$ Z' P# `2 c$ I  V  if mod3String>0 then
& u2 t( h# J( E5 U  lenString=lenString+3-mod3String
8 l2 c" G% b5 J2 d  lenString=lenString-3
, k7 v4 S8 o6 z8 V  end if

返回列表