返回列表 发帖

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

class Base64Class3 z( R- c% W) c0 A. e/ g
  rem Const + k6 S5 J; Y0 I' c8 o
  dim sBASE_64_CHARACTERS'转化码
- B( k0 X1 H0 y  A6 |- Y  dim lenString '计算字符串的长度
  p  j- n6 \: x" h  dim iCount '计数器
) F- M1 _2 g$ G$ [4 [  dim returnValue '返回值 + ?! ~5 _: N. ]3 S3 {+ p* G
  dim tempChar'缓存字符
8 y$ Y0 a; p7 v% ~' z( l  dim tempString'缓存字符串 7 p/ X5 v2 h% h# h) G) ^4 ^
  dim paramString '参数字符串 2 W: i" ~- c+ g
  dim temHex'缓存缓存十六进制 1 Z/ Y9 [, j6 m! V2 ]
  dim tempLow'缓存低位 ; U/ _6 y, c( C( J
  dim tempHigh'缓存高位 ' Y0 @3 i: o. {0 D! d$ P; S
  dim mod3String'
5 |. d0 D8 S3 |' }# p. K  dim mod4String' 7 e2 V: ^6 j  z0 w! a) @  w$ d
  dim tempBinary' 1 C( T6 H8 e9 t+ F1 h# q
  dim tempByteOne' 5 o5 ^6 U% C8 d2 [" e( p" A" D
  dim tempByteTwo' + l6 q3 v5 J8 V2 @8 j
  dim tempByteThree'
- n6 r, u4 d: d$ v6 C: \% W+ `  dim tempByteFour' 5 a  @' {" Y* E7 I4 [: Q
  dim tempSaveBitsOne'
  a: r  l6 }6 _7 s4 Y  dim tempSaveBitsTwo' + ~0 R- A* ]- K" _
  '********************************************
3 i' f: B, S( d1 A3 p# C) e  'begin初始化类 7 j, u1 M! {* @. Y
  '******************************************** 0 }' W, B' [; N) b) q& ~$ H
  private sub Class_Initialize() : Z  d2 c: n2 c, y6 Z
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub 0 c: I! P1 @, y- P) r
  '******************************************** ( t. O  X% H- V8 ^& j8 y
  'end初始化类 '- t  Z6 }* ?' d  x' }
  ********************************************
9 a8 I; o9 V# t8 f  '********************************************   Y2 a' O9 J+ v3 `8 }
  'begin销毁类 5 E' Q5 |- Z% m
  '******************************************** $ |( |6 Q9 j$ ]1 n# B9 \2 S1 T
  Private Sub Class_Terminate() 5 ^, s* r/ l& m3 k! z! G  ?* A4 z
  sBASE_64_CHARACTERS="" end sub
7 q8 a5 R8 W6 n2 d; |  '******************************************** & w" i2 f0 p$ g$ N$ @4 X
  'end销毁类 8 U. Q7 q% y  X9 n
  '********************************************/ L2 X9 u  L) Q' ~" b6 w
  '******************************************** ( m3 ~0 }8 Z# E
  'begin将Ansi编码的字符串进行Base64编码 * p5 N+ B, V# d% S  d
  '******************************************** & f6 H, e/ w  \, o# C7 i' A
  public function Encode(paramString)
! H" t+ \4 ]! E9 ?  tempString=""
+ h# N% n7 Y: o/ a4 U# R  returnValue="" ' b1 w9 f9 |+ M1 G
  lenString=len(paramString) ' a0 \! d$ Y: q2 Z2 z0 v! j" ?1 R
  if lenString<1 then
# `# K8 T3 @1 z  K' ?  Encode=returnValue
0 q! [* F8 m, d( E. Y  else
0 c4 T9 ]7 q- l& A  mod3String=lenString mod 3 3 W( L) L# ]  M. B9 Y
  '补足位数是为了便于计算 9 B3 x) F6 J! ~; e5 S# `) w
  if mod3String>0 then % P1 \9 T* o% _, f- A* o
  lenString=lenString+3-mod3String
8 i7 \+ E: R& x( [1 _  lenString=lenString-3 . B2 W( @7 t' y- k2 u$ @1 R
  end if

返回列表