返回列表 发帖

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

class Base64Class
) P: I; e$ F& j: m) F3 `  rem Const 6 E; {! o+ k. {/ E
  dim sBASE_64_CHARACTERS'转化码
8 e1 B) y" A) e7 D$ I; c. L  dim lenString '计算字符串的长度 5 J: j9 N! u7 V* k% n( R+ q8 o
  dim iCount '计数器
$ b2 f2 S- w3 i5 x' d  dim returnValue '返回值 / Q6 F& J# x0 p% `8 A9 j0 P4 }" v  ]
  dim tempChar'缓存字符
3 e% Z8 V* K. c) a3 i$ X& a  dim tempString'缓存字符串 8 }+ U  i8 a! t+ W. @
  dim paramString '参数字符串
; R9 u  F1 F" i: w# S& B  dim temHex'缓存缓存十六进制 ) h* ^1 C& A. Q9 S0 k2 R
  dim tempLow'缓存低位
" {  P' M( H9 J$ }# M$ b+ i  dim tempHigh'缓存高位 : m8 c! }' q1 l9 R( G* X3 ?& [
  dim mod3String'
. ?' _$ O6 W) n* f4 x6 ^# i3 A: H  dim mod4String' 5 E% `# Q# G% D" c
  dim tempBinary'
- A4 g/ k- |" \  Z& K  dim tempByteOne' - Z# @% h6 G' f) l
  dim tempByteTwo'
# h( [: m, M) I" e# ^4 `: L  dim tempByteThree'
. [' D, G& @! P0 C: F  dim tempByteFour' : c& @/ t( I3 e: K
  dim tempSaveBitsOne'
& W8 G$ u5 N' m" K, n5 G* h8 P  dim tempSaveBitsTwo'
* }6 G: L: @, z- I8 o6 a  '********************************************
+ z9 e( ]1 q' H  'begin初始化类
* B% L) C; m8 t; t# r2 x. s! \3 i  '********************************************
, x9 c5 t3 Q1 V$ `( h  private sub Class_Initialize()
$ ?) D9 }8 x0 n& |; Q+ m* t2 J  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub   B! d  l) Y5 h; y' D
  '********************************************
1 v% d' I7 H3 K& L  'end初始化类 '5 S, Y- o+ t! v9 E, q
  ******************************************** : P4 h/ f/ B( n
  '******************************************** 8 W0 S: w7 V9 i7 R# k4 ]
  'begin销毁类 7 Q5 r. I4 I6 D' C
  '********************************************
4 S% i2 D% R! [& _- ~+ T7 m  Private Sub Class_Terminate()
; k; m. Z/ X# t; Y  sBASE_64_CHARACTERS="" end sub 7 C8 h8 a. @9 _. J1 Y% O  Z" Q
  '******************************************** 9 P- V4 _# y: U! s7 f- d7 r
  'end销毁类 , B3 S, c. s9 ^5 R. A
  '********************************************
9 x4 Z, [( q( p! |5 E  '******************************************** 4 I5 j: |0 X1 S- A8 O  Q
  'begin将Ansi编码的字符串进行Base64编码 9 _& B" C/ t+ l4 m. }1 X( q6 D* K
  '********************************************
1 K! I  o  J, e& ?) d7 d  public function Encode(paramString) & j* J+ Z. }8 j5 F  f$ k- e
  tempString=""
6 R4 a3 ~& w5 s9 r7 x3 M8 L  C8 C  returnValue="" 9 {5 V8 |, S. R
  lenString=len(paramString) # O% g$ o5 t4 o8 f
  if lenString<1 then
3 R: d# S$ t) S% {6 W1 [  Encode=returnValue # v# b- L; K% p) N- `9 }  s1 K/ J$ v
  else 2 e+ ~* B5 G2 N' M# G
  mod3String=lenString mod 3 ) H' ?. k- U. k
  '补足位数是为了便于计算
- M% u3 s; O+ o3 {1 X. i0 e. z  if mod3String>0 then
4 y! [  G$ |$ O* H/ x  lenString=lenString+3-mod3String
( d3 C( y5 c* z! o9 Q$ }  lenString=lenString-3
; {; F- ?$ f& _7 l  end if

返回列表