返回列表 发帖

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

class Base64Class  J$ w! E$ x) m. e6 ^
  rem Const
3 @0 ^4 g& L( Q  dim sBASE_64_CHARACTERS'转化码
3 ^0 ]3 J+ Y8 ?) G  dim lenString '计算字符串的长度
" {* u) [) B1 [+ R) o5 z  dim iCount '计数器
* S6 h2 \! B1 ?6 y( b* ?1 P4 V  dim returnValue '返回值 * q9 Z: U) G/ a/ R% L: Y  t* n
  dim tempChar'缓存字符
- x2 S& ^, o" A8 i2 S3 ^- z  dim tempString'缓存字符串 + ^9 U0 d" Q. ?# J4 _6 m0 o- U% |
  dim paramString '参数字符串
* R$ I1 e3 M# Q2 h$ `( g  dim temHex'缓存缓存十六进制
0 K# o" o" h6 j1 ]2 s# G  dim tempLow'缓存低位
7 f& m0 d7 D% P  P  dim tempHigh'缓存高位
! w: y! ^2 ]( [0 W: @  dim mod3String' . D% f+ I) f! O4 F" Z7 `: j* w3 n
  dim mod4String'
) b' U! T& g2 e# f0 q  dim tempBinary'
* K% `6 I- q2 F, W  dim tempByteOne'
# `; l+ N  f! i3 o+ j+ {  dim tempByteTwo'
/ ~+ Z7 ^" V- O, M  dim tempByteThree' . y. a% v% L' I5 Y5 e
  dim tempByteFour'   ?: ^+ k* l6 g5 w9 P# d9 o
  dim tempSaveBitsOne'
6 K" }* i$ u7 y& ~  N# D+ o2 K  dim tempSaveBitsTwo'
% c/ b3 b8 ?  f  '********************************************
5 h0 f2 f9 q" N; R3 e: z  'begin初始化类 . k: _- R: x1 i2 M1 _
  '********************************************
* Z5 E$ t9 o+ p; e  private sub Class_Initialize()
% Y  C* j; e+ P: d( |  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
% C* F/ ^" i7 _/ y" W  '******************************************** ) J' S: H6 V* q* c6 J
  'end初始化类 '
% b+ N" Z) y6 K" J  ********************************************
% v' [* t  t0 ~  M% G  '********************************************
% V& [! R8 k% K1 E% q  'begin销毁类 - M' d- M: H3 U& c: E
  '******************************************** 5 z2 L0 N3 u8 s; V9 a7 q
  Private Sub Class_Terminate()
: `. }- u: d2 z4 X* Q  sBASE_64_CHARACTERS="" end sub 6 `: ~6 ?! J  d7 g. j; x6 c* C, s0 b
  '******************************************** 8 @4 J9 f9 l* f3 c) u
  'end销毁类 , P8 F  X* v) a) |5 ^' T
  '********************************************
" l$ J# \  d- V* c1 I- W  '******************************************** / L6 O7 ]  X- J3 d/ p& m5 J
  'begin将Ansi编码的字符串进行Base64编码 : K( W9 Z5 s. l4 K$ B3 P$ }
  '********************************************
/ l5 U  f; X4 d: G  public function Encode(paramString)
6 A& D2 _6 k  p9 f& ]  tempString=""
! s; n4 i& ?0 t$ r1 U2 i  returnValue="" : ?9 g# ]7 m8 q# t$ A
  lenString=len(paramString)
& u: m( j( p2 m  if lenString<1 then   d) V3 \+ d4 H& D
  Encode=returnValue " G- W6 C7 F/ i: U0 g( v+ R
  else
* _( d0 T# ~- Z: n- T0 t0 j& t  mod3String=lenString mod 3 / d" H3 j& Q. {7 l# w: A
  '补足位数是为了便于计算
0 Y- C) R) z% O* d' `1 ]  if mod3String>0 then
  w' E) o, U2 d6 ^! ?) h- p" V9 ]  lenString=lenString+3-mod3String ! v% E! ^: F% D- D9 ?" N0 f
  lenString=lenString-3
5 y7 B4 R: {0 Y. U3 F" a, o8 [  end if

返回列表