返回列表 发帖

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

class Base64Class
% a8 X; o, @- d# [! O+ a  rem Const ) C2 M& Q8 {# @: j
  dim sBASE_64_CHARACTERS'转化码 $ }  _6 l( b# k* k6 h
  dim lenString '计算字符串的长度 ; |) X; v- M1 J9 `, c
  dim iCount '计数器 - K4 ]" l, K% R$ m  s0 e+ m8 M
  dim returnValue '返回值 0 C8 s( D; q* }9 D- ~: k
  dim tempChar'缓存字符
1 R( u3 t8 {) e; @/ ~  dim tempString'缓存字符串 ) A3 i$ `8 a' L3 \. a# Z/ S  P
  dim paramString '参数字符串 % f' K/ U4 i4 B8 ?1 h4 j& X" c, ]
  dim temHex'缓存缓存十六进制 4 I4 H! _3 x5 s# v! g
  dim tempLow'缓存低位
( @+ B/ Z3 _) j4 A2 L3 k0 S+ a  dim tempHigh'缓存高位
( y3 k; h4 q0 }/ g# O1 l0 C  dim mod3String'
) g7 Y. ?" i/ h* E, x9 x4 m6 m, M3 E8 e  dim mod4String'
9 t# y& ~1 A- k% A: ~$ B! @( g  dim tempBinary' . G/ O/ V3 R( S% T8 m" i1 f
  dim tempByteOne'
+ m7 N: H( r2 W! t5 e' @7 H  dim tempByteTwo'
  D' Q( f7 ]5 ]% T& B( t' t) J  dim tempByteThree' ' _( A/ t7 p, t7 a  {8 f
  dim tempByteFour'
8 w% v; l$ J; F  dim tempSaveBitsOne' / N" ]& L6 w5 A! ^
  dim tempSaveBitsTwo' 6 x5 A: T1 g5 w% ]+ S) e
  '********************************************
$ Z" N! z  x' q  'begin初始化类
) l3 g4 {9 j' z1 a7 n9 y; r  '********************************************
  B2 @, n& I: i% M  private sub Class_Initialize() " ~$ `9 _8 m3 {
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
9 d% }2 F) t+ T7 S2 w, {( T  '******************************************** * `3 L  |$ Y4 q1 I# @
  'end初始化类 '
- Z: |- V) L. q# {+ J  h  ********************************************
0 t! T( U$ B# G/ H- ~7 n  '******************************************** / N5 ~" i7 U3 n* s3 a
  'begin销毁类
& z  W" q, u, L8 a2 H# q. k1 v, J  '********************************************
( x9 c* V$ B9 u% O: P9 P6 x  Private Sub Class_Terminate()
8 ?! v1 F8 Q% j8 ]/ i  sBASE_64_CHARACTERS="" end sub : n& E6 W+ ]$ m6 N# s% d
  '******************************************** 0 g2 j+ \8 q, u: O3 J2 z" y) x( m, `2 \
  'end销毁类 2 J! W, h. O8 B
  '********************************************
: }) {$ u1 _! w( y) }: u( o! w  '******************************************** 4 y6 s2 I+ h4 p! P  w! D
  'begin将Ansi编码的字符串进行Base64编码 ' Y' ]5 @# V/ ~+ q! q, Y
  '******************************************** . `$ b! t$ J7 s. A$ |) b7 H
  public function Encode(paramString) + u" D$ T2 ]+ {  P0 X) s
  tempString="" 5 J" m& J0 F2 j  c8 r7 }0 S
  returnValue=""
; ?: c; x7 g" R; i5 }( z  lenString=len(paramString) + V5 ^2 E' L: A
  if lenString<1 then
* i: g- [- w" [: i" p  Encode=returnValue / j  P# z, V8 w0 v  E& J
  else
/ ^* h6 S/ S/ @& j) G! o9 J5 o, U6 M  mod3String=lenString mod 3
4 H2 d* }8 h" ~' N  '补足位数是为了便于计算 # t, d# ^2 ~3 t' ?4 f+ ]
  if mod3String>0 then
) Z% _7 |/ M) y) G! ^1 t9 v* m  lenString=lenString+3-mod3String
: o- }- h6 k/ m# \1 U% h2 j  lenString=lenString-3 % ~* W5 F. b. p% b! h
  end if

返回列表