返回列表 发帖

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

class Base64Class' N5 ^2 \8 _  P1 Y$ a9 Y
  rem Const ) X. d2 A, p! Q* y
  dim sBASE_64_CHARACTERS'转化码 2 o2 }9 S( |: l
  dim lenString '计算字符串的长度 ' v, z0 D5 E  j
  dim iCount '计数器
8 `( v8 O# \/ q2 h% |  dim returnValue '返回值
* {$ e3 c% A' a2 r& Q  dim tempChar'缓存字符 5 T; b+ v6 A/ o: Y
  dim tempString'缓存字符串 * P, j. Z6 ~# b
  dim paramString '参数字符串 8 [/ U0 B) h/ x; j
  dim temHex'缓存缓存十六进制 * a1 ~4 p. E9 K2 D
  dim tempLow'缓存低位
7 B- \0 R2 _$ ^* [* s) W  dim tempHigh'缓存高位 : D' b2 n  g! y& F) M) y
  dim mod3String' ' J) A- Y- r( K9 c; {
  dim mod4String'
3 o: q  X& A! k$ a7 s  dim tempBinary' 4 E$ j' k( U7 ~+ S, e' c$ r/ o2 O
  dim tempByteOne'
1 f' w9 V4 p2 L  \. n; V) x  dim tempByteTwo'
  I  o; Q; J& a6 Q  dim tempByteThree'
+ \5 ?# t% K3 h# N5 |  dim tempByteFour' ! c8 n/ a2 o9 W; J4 ], {9 r
  dim tempSaveBitsOne'
2 s2 O( j; B$ Q  H( D  dim tempSaveBitsTwo' * H( K2 b5 N( T; N8 ?
  '********************************************) A* E- C8 I* Z% N8 G+ _
  'begin初始化类 * U4 O- |; [% F* E( z
  '******************************************** $ f& g1 Y9 i8 o. O7 ^% K
  private sub Class_Initialize()
2 m$ v7 _/ I( i# K3 Q4 @6 X5 t  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub - x4 W) M* M; d+ Z
  '********************************************
; D/ w+ |/ H. W/ @  'end初始化类 '
* r- _- E, l4 N- T  ********************************************
. o8 r$ b0 v6 O  ]/ i. X  '******************************************** 9 K# }( Y1 c, d- q1 a- q8 }
  'begin销毁类
: R, w! l  g6 b& r+ F+ s  '********************************************   m; s" j5 `1 |8 V
  Private Sub Class_Terminate()
" q( \& e; Q) ]( i8 \4 v8 U& n  sBASE_64_CHARACTERS="" end sub
2 D1 P0 M6 F: m/ R6 ?' Y9 k  '********************************************
/ j. @% y3 \8 f6 U  'end销毁类
3 A% b( b1 F* y/ L. _' O  '********************************************
& o$ T5 ~) K7 P9 X) y) H1 `  '********************************************
; Z6 p2 |+ ~0 J: q; U. E" s  'begin将Ansi编码的字符串进行Base64编码 9 T6 i5 m# O  F5 {4 s
  '******************************************** + ]; N; N; ^7 q1 |2 J* @) e
  public function Encode(paramString) 5 Z5 g1 q3 J, p  _2 q$ Y( t0 U
  tempString="" 6 j" M  \& W( f8 R6 s
  returnValue="" + X5 j+ x- C# T4 n
  lenString=len(paramString)
) ^; O' n2 l  G) F) W  if lenString<1 then - v, n; Y5 K* ^  ^1 Q$ N* H5 p
  Encode=returnValue : h/ n, X7 ?8 T4 e# U, ?- q# q
  else
8 l) W: I2 G8 N* T$ P3 e  mod3String=lenString mod 3 % y- s2 n/ @% |# O0 n
  '补足位数是为了便于计算
; c0 h! g0 o/ ]  if mod3String>0 then " i5 M: C& H" s2 n# G& G
  lenString=lenString+3-mod3String - Q( N2 ?* M4 |4 G/ A% d1 _$ N4 D
  lenString=lenString-3 ) U* _) z, u& ]) v1 `) L6 ^
  end if

返回列表