返回列表 发帖

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

class Base64Class# v) E2 V, M5 \6 C. \& I. Z: _& P
  rem Const
+ n) F  n  l/ p# f$ F6 B  ^  dim sBASE_64_CHARACTERS'转化码 " [+ B9 B6 a/ F! U
  dim lenString '计算字符串的长度
4 G8 l- l' Q4 a6 {  dim iCount '计数器
6 m& e9 {3 n+ T, V$ P+ r  dim returnValue '返回值
  i# [9 b0 y9 S) n( S9 y9 u  D  dim tempChar'缓存字符
6 ^3 E$ o) A# d( j5 n3 S: r  dim tempString'缓存字符串
# y, Y! V2 v% g3 k  dim paramString '参数字符串
# }- ?6 E7 O9 B. ^  dim temHex'缓存缓存十六进制
& I% ?$ n$ p" P- W' a  dim tempLow'缓存低位
5 n' f* N( e) k0 {  dim tempHigh'缓存高位 , j; b7 A* M) o# G4 S
  dim mod3String' & \6 \( S3 d4 {! C& N
  dim mod4String'
$ Z* Y7 E. K9 z5 W# |* A  dim tempBinary'
1 f( x! \% v; Y/ C( o: c  dim tempByteOne' 3 k: d! V2 z1 S5 P) L
  dim tempByteTwo'
! A6 C5 q4 q7 J+ A" E  dim tempByteThree' ! J* ~7 b7 @; V5 D
  dim tempByteFour' ' y$ S/ Q% J* b: r' Z1 j
  dim tempSaveBitsOne'
6 m, u5 O1 m5 k5 r9 ]  dim tempSaveBitsTwo' 8 C( f3 u2 _: y, B& K
  '********************************************
3 u. O. h% g, o" i1 b+ k+ F$ U  'begin初始化类 & K7 S; H" I0 f- S! k0 [2 i
  '********************************************
% S( F( w. `6 n1 j( t6 \" c# P  private sub Class_Initialize() ) S9 G- R& V5 U& x$ Q" S
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub * |- G: z! C' Q- x
  '********************************************
- f# P1 r9 U+ L0 u  'end初始化类 '/ k- v' |( n# k/ g+ C
  ********************************************
& T2 y& M$ y2 x  '******************************************** 8 P1 \; f" j0 L8 W
  'begin销毁类 ) F( U+ e8 x4 \: J2 {
  '******************************************** , n# T  R: R  ]: I) {
  Private Sub Class_Terminate()
% W' e. _4 c  H, n/ k  sBASE_64_CHARACTERS="" end sub 2 ]8 t9 y6 Y2 U7 c0 c5 k
  '********************************************
( w/ ]8 e' |7 L0 _1 r$ [5 `. A8 h3 n3 e  'end销毁类 : F9 M* W7 S, u2 A
  '********************************************
6 Q3 U/ Q7 e. n/ Q6 i7 u  '********************************************
2 K& X; d6 A" _/ c% d! _  'begin将Ansi编码的字符串进行Base64编码 3 I* N. R( u- j; `( Q
  '******************************************** - G+ E7 c' a% w$ B) Q
  public function Encode(paramString) 0 B- z% V4 u+ [& M
  tempString=""
  w2 }2 d, d1 X  H  }  c5 t  returnValue="" 2 K" {7 ~  Y# {5 r$ V  K
  lenString=len(paramString)
" I6 k2 o7 r" g# z; y5 a  if lenString<1 then
  N* d# R3 P# t) u  Encode=returnValue
+ _' Z/ ?( E$ `  m  else
1 T) H' E, J5 y; x5 v4 o6 P  mod3String=lenString mod 3
7 ]1 \) o; g. l. ], ^  '补足位数是为了便于计算
; v+ m$ ]8 a8 |+ V, t  if mod3String>0 then
- t4 {( N8 j, L( }; {  lenString=lenString+3-mod3String
; w5 F# m6 R" d# c. O; y; c  lenString=lenString-3 ' z, c- J, }5 m4 f7 m) s# R$ h: G. e
  end if

返回列表