返回列表 发帖

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

class Base64Class+ W  j) G5 n0 S: i5 w
  rem Const 6 H  Q) v2 m1 @" N8 K$ M
  dim sBASE_64_CHARACTERS'转化码 # V6 z' i  B  a% X& p
  dim lenString '计算字符串的长度
* j. ]$ M1 [$ A  dim iCount '计数器 ( Z  c  u) q: q9 Y
  dim returnValue '返回值 6 e' s- E* R) @5 ?! r6 w
  dim tempChar'缓存字符
* d6 _$ Z4 n' g+ A9 T  `  dim tempString'缓存字符串
' U. y3 t/ ?/ q8 _) F! x  dim paramString '参数字符串
% Q( O; n* x! L. o( s" x  dim temHex'缓存缓存十六进制 . L/ P# P) N" A% Y
  dim tempLow'缓存低位 $ e( I$ ?( T! k2 p. D
  dim tempHigh'缓存高位
" y. B' y. T8 i2 ~  dim mod3String' 2 x3 x: ?& x% y4 C+ T5 P
  dim mod4String'
$ }" _. n1 z+ z- w  dim tempBinary' . T) F7 x3 g! q! j% O. y& r8 B
  dim tempByteOne'
" a$ a) u" P* Z  dim tempByteTwo'
: `$ v7 E( z  a  p) z" q# w  dim tempByteThree'
$ F1 |* K1 j/ u, a% U5 r' Y  dim tempByteFour' $ {' B4 z; C! e3 |0 y& S
  dim tempSaveBitsOne' 4 W3 l" i2 h1 }! P1 s; P- ^8 \
  dim tempSaveBitsTwo'
" v+ F& T; g+ @9 v  '********************************************
( U9 j4 ~0 |# {5 e; r1 v/ X5 `; J  'begin初始化类
$ t% p, D% R. q- V( U4 R  '******************************************** 9 Q9 ^9 H: h2 J- S
  private sub Class_Initialize()
! B( ]. P# T- P5 i9 \( E8 B  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub 9 I; x& r, M  T: t
  '******************************************** , t! W' n3 N6 G$ S) z5 o& S
  'end初始化类 '- _  A: `3 E( w4 W: i
  ******************************************** 4 R" q, F/ q1 j" z0 m' K
  '********************************************
: w! Z$ B. ^1 B6 o# |! T; H, C  'begin销毁类 9 F% T- e% ]( ~/ A4 D- Q
  '********************************************
! V2 X3 n0 T  V& X  Private Sub Class_Terminate() 9 C. ^& }# v, Q: ^5 w9 g
  sBASE_64_CHARACTERS="" end sub
- x3 a' c& g7 B2 w  '******************************************** / y  [  |& L' ~
  'end销毁类
; M$ E( K, N, Y2 O3 N  '********************************************
" Z' A, F3 R. R8 G9 s: f8 H  l  '********************************************
- b2 U, m& B* ~. M+ ~) w* H6 Y3 e. s; Y  'begin将Ansi编码的字符串进行Base64编码
8 v# j. y4 ~$ L. l  '******************************************** 0 K% ]8 ^$ N, c  [5 E
  public function Encode(paramString)
/ i/ v. G' x" F7 K9 ?) m5 {, c  tempString=""
6 m% F8 }8 I) l1 [" e  returnValue="" 3 ^' l( Y/ s& T; ~' ^* \) d2 t( D
  lenString=len(paramString) ) }' G$ j. f1 A1 n4 ~8 I
  if lenString<1 then + R  U" J! @0 Z/ M* B. S- f  l$ |! g
  Encode=returnValue
5 K, X# I; H- i" \) N7 z# O  else
" \! ?. }* R5 W8 K2 G0 O+ }  mod3String=lenString mod 3
4 [. D) P, A) g& R2 E& U  '补足位数是为了便于计算
9 l/ E5 n( _( u  if mod3String>0 then
+ B3 Y7 \3 k+ _1 E+ t  lenString=lenString+3-mod3String
( G# Q! k- Z0 ]( I  lenString=lenString-3
' v! K4 X9 |* c7 y+ H: E  end if

返回列表