返回列表 发帖

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

class Base64Class
2 k) Q. B$ h, O! N7 g  rem Const
- d$ K* [8 d( ]  dim sBASE_64_CHARACTERS'转化码
8 O8 L* a7 R$ u# u1 d  dim lenString '计算字符串的长度
  X# l4 A' u1 g- a0 c8 _  dim iCount '计数器 ( Q1 ]" W; y! c/ ]
  dim returnValue '返回值
5 A+ \3 n% ]0 m$ V, v5 H: |8 ?  dim tempChar'缓存字符
0 I# e0 Z" C& F& ]' P: c. P) c  dim tempString'缓存字符串
! K1 t# W/ U9 r: b$ m  dim paramString '参数字符串
  e* t, D  m/ g; L0 W4 p5 ^6 }* k  dim temHex'缓存缓存十六进制 5 U0 V! y6 r! H6 D$ l! G
  dim tempLow'缓存低位 . I' O( J$ o5 v( ?' {
  dim tempHigh'缓存高位
* }( Y; y' ^" k" t% i+ ^  dim mod3String'
+ m# M6 P: L+ ^  {9 W  dim mod4String' " X# f# l+ L. X0 U
  dim tempBinary'
6 _  e, x& c; ~- U6 f6 X* Q) l; Q  dim tempByteOne' , t) E+ h6 @( P+ _4 I
  dim tempByteTwo'
1 R8 ~& }: {$ ~3 t( {- ^  dim tempByteThree' & d4 K  v0 }+ V* K2 I4 f
  dim tempByteFour' ; n, G3 F5 ~  T6 x6 c+ v' W
  dim tempSaveBitsOne'
$ ^! _$ F% h* Y0 m( Q2 ]  dim tempSaveBitsTwo'
" X! a( \1 c& j$ n  '********************************************; [8 f' d+ {9 A" S5 I
  'begin初始化类
  |* X# l5 r) \# b( S  '********************************************
: L& V. H$ o$ u: ]- |  private sub Class_Initialize() 6 ^. w" T! A3 M, V& c# Q) u3 W
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
9 f+ `) [, J+ l3 J  '********************************************
8 e, D! w  b2 r, s% h2 X5 {' c  'end初始化类 '
/ P- `: g8 T8 i6 S( M1 B# b! P  ********************************************
: k- Q. I4 \1 F& |. ?8 _% A  '******************************************** ( F7 x, r* w0 S0 J+ [* ~% c
  'begin销毁类
/ O' C: l/ @; X  '********************************************
; p% J, R: W$ e4 q0 g# j, g# o+ G  Private Sub Class_Terminate() 2 F  ]# [& x0 x
  sBASE_64_CHARACTERS="" end sub
. d7 y4 m4 V  p, U  '******************************************** 3 h9 N; c/ u  o. A
  'end销毁类
3 F' l+ K. Q' K6 S; Q3 [4 ^$ ^  '********************************************; h' I$ _& }' Z* C
  '******************************************** # \) G  Q# @, N. }$ A, T- U
  'begin将Ansi编码的字符串进行Base64编码
# [/ X# T  b' s+ ]' g/ ]  '******************************************** & c) T0 b# P+ q
  public function Encode(paramString) : k5 D/ [( _1 H6 g( @* L
  tempString="" 3 d# Z0 v: I7 H
  returnValue=""
5 c( h) R: S* f- l2 r2 K$ D  lenString=len(paramString) $ Q0 g; ]* w8 G  x* S/ r0 c
  if lenString<1 then
# u* m7 y2 J7 f, J( C5 t& Y  I  Encode=returnValue   ?- ]5 u/ d+ L& D- M, }/ {% h
  else
$ G* t+ t" F1 b) O+ o; |  mod3String=lenString mod 3
, ^2 |/ b& ^& w( H* I+ A7 V  '补足位数是为了便于计算
3 X. |8 F1 |. O1 v7 g- T  v, Z) \  if mod3String>0 then
( R7 M3 j5 p' }5 e- ?, t) d/ y  lenString=lenString+3-mod3String , A$ Z7 A& h% e1 g- u8 X, A
  lenString=lenString-3
' A* ~  l  t- F0 A; i  end if

返回列表