返回列表 发帖

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

class Base64Class% _, z& }; T6 ]1 l+ p, M' R' X
  rem Const
5 W8 s% [: c; ]$ c6 Z  dim sBASE_64_CHARACTERS'转化码
9 ?  r( i; S  S: W& k+ K  dim lenString '计算字符串的长度
$ H: F# e+ K2 g6 i  dim iCount '计数器
. m$ ^' e, ?1 d2 \  dim returnValue '返回值 6 Q5 c6 T4 M% [& d; |
  dim tempChar'缓存字符 ; z  V9 a: ]+ n9 P3 k
  dim tempString'缓存字符串 * J, B, H- U. S, y! Y9 M, D
  dim paramString '参数字符串 + r8 }# g' n  u2 j& E
  dim temHex'缓存缓存十六进制 ! [* S2 S! O  P
  dim tempLow'缓存低位 : {- Q' o8 @. v" a1 J2 `( L& `
  dim tempHigh'缓存高位
+ H+ w6 p* Y6 Q+ ~3 K& D  dim mod3String'
/ a3 z! @3 |0 B& |. s  dim mod4String' ( v8 u* i" K0 {; h. }* @* W  B
  dim tempBinary'
: O; l! ^( y  D0 f& G+ y  dim tempByteOne'
, L( \# M4 p5 @" Q9 _+ N" J  dim tempByteTwo' . a& Q& r0 }# {: |7 f
  dim tempByteThree'
( {2 q3 @% v2 f  ~' u; g  dim tempByteFour' 1 b  o, m2 [# n, `" J+ A
  dim tempSaveBitsOne'
9 W! \+ }* \. A( {. r, s  dim tempSaveBitsTwo' 1 u: l8 e) d$ J; ~
  '********************************************
1 c) b8 u7 q! A2 f' e9 J( A  'begin初始化类
3 l' v7 `" R' [0 ^+ |( b  '******************************************** + \7 V, w5 Q7 y7 C0 b5 z0 ]2 ~
  private sub Class_Initialize() 0 H3 r0 v7 z' k( i+ W' t/ m9 w
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
: A" n1 G" h. N6 e$ r+ x6 F7 H  '******************************************** 3 ~% c3 g2 A" X6 c
  'end初始化类 '& r6 @/ N1 R* @, U
  ******************************************** 7 Z& b  \7 H7 h: j+ I
  '********************************************
( ^2 A! W& L0 e2 J, U% D4 \  'begin销毁类 5 }2 T; [% r1 X( j
  '******************************************** 7 u( {1 I# h6 O3 x6 j, N8 {
  Private Sub Class_Terminate()
" ]" M. y0 w$ U! V' Q& S" q  sBASE_64_CHARACTERS="" end sub   [  [" m. M( v8 S* t7 @
  '********************************************
& N8 h' q& w" H. {  'end销毁类 $ v" I7 H( n. @4 A* a
  '********************************************
% }. y& f. F) n& @. B, A1 {  '********************************************
8 h5 {+ k! v0 I  'begin将Ansi编码的字符串进行Base64编码 9 e4 q: g, c- v# ~2 y: {; ]
  '********************************************
8 F5 V* r3 U, E. m/ A! D  public function Encode(paramString) ! l$ X+ M7 q. I$ D# n% Z- z
  tempString=""
4 y! a$ C( B, o% \0 A2 U  returnValue="" 7 a6 ]% }9 W0 X) e( {
  lenString=len(paramString) ; R0 H2 z8 m0 R3 p( P# R
  if lenString<1 then
7 V3 ~5 w7 a4 t/ m  Encode=returnValue ! g' n( W/ m5 k1 H! V6 C
  else & o; ~. q# r" e: O7 f6 S# K
  mod3String=lenString mod 3 6 r' F7 }3 `- a+ A9 ~5 R0 Z
  '补足位数是为了便于计算
" |4 l# a% j0 ^  if mod3String>0 then 2 u6 t, T$ s" c: b; t  J4 t) r$ n
  lenString=lenString+3-mod3String
: J9 Z9 B1 P4 \6 f+ x6 Z( `  lenString=lenString-3
  z" R: Q2 C% F. F  X; ^7 F$ {- Y* u  end if

返回列表