返回列表 发帖

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

class Base64Class/ K% p, B3 o8 M  I; D
  rem Const
) J- d! B7 `0 X. W+ D/ C  dim sBASE_64_CHARACTERS'转化码 * z) k9 [/ ^' w# p$ @( I1 @
  dim lenString '计算字符串的长度 ; T; w: x) m# y5 x( _' I
  dim iCount '计数器
5 T; ^$ V, |( r& f" o7 p+ l  dim returnValue '返回值 - J  a2 @% J. w9 ~/ m
  dim tempChar'缓存字符
9 e2 R# G' A5 Z/ a9 C) E  dim tempString'缓存字符串
" k) o, r6 h7 X0 B5 C$ c$ y  dim paramString '参数字符串
# D' T* T2 _5 P& C  dim temHex'缓存缓存十六进制 . z2 }. X$ X; z3 }  D7 \
  dim tempLow'缓存低位 % Y5 U# C* O4 A' T  M$ t6 \
  dim tempHigh'缓存高位 & h5 ~. u1 m/ s5 g- I* n
  dim mod3String'
' X/ F" Y+ Z7 \7 H: q7 x  dim mod4String' 2 P6 T  w8 z( T
  dim tempBinary' 4 m5 U2 [; q8 _) i
  dim tempByteOne' $ z$ O; B, r! f) @
  dim tempByteTwo' ' K9 W7 ?" ?$ C
  dim tempByteThree' 4 a" l% ?6 {8 P5 S5 F: x3 _
  dim tempByteFour' ( q& D5 c+ g. W$ `' p! i, B; ]1 A
  dim tempSaveBitsOne' 1 Z) S  R2 y9 [
  dim tempSaveBitsTwo'
, r0 z3 [! w, n. T+ Z' o# v+ J  '********************************************
, Z* n! o8 U' h  'begin初始化类
3 b3 J/ T+ j. f  m" I. h$ W# b  '********************************************
* _; {; }" o4 v0 G& f% |  private sub Class_Initialize()
* ?3 D3 f& M3 G8 _' N  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
8 f, I0 Y2 O% ?+ O3 U3 b  '******************************************** $ |  m" m$ R- l8 D, I9 x2 u4 B
  'end初始化类 '2 n1 \, O, |/ `5 f% I0 r4 F5 q
  ******************************************** # P$ M! A( v) j: ^0 Y
  '********************************************
5 u& d& f. x; V( B  'begin销毁类
0 T7 r- i8 q# b+ `7 k+ C  '******************************************** 5 ?+ q, r% W- O
  Private Sub Class_Terminate() ( a7 s& v2 {/ x# i
  sBASE_64_CHARACTERS="" end sub ; }( _+ [/ [  r5 N" H; q- K0 [
  '********************************************
3 s5 w2 d9 v: Q( t  'end销毁类 " t5 s+ N0 d- J' H
  '********************************************
" ^1 L; c! O% l1 \7 Z) @1 u$ r  '********************************************
- h1 ?$ u; I3 `2 W9 V; n  'begin将Ansi编码的字符串进行Base64编码 ; `( I+ f0 _# G" m/ L" u3 U+ r
  '********************************************
: Z6 d" h4 b% d; k8 @7 M  public function Encode(paramString) : K+ C# x; s) D+ o! D  C
  tempString=""
* I6 o9 a/ _# V4 @6 [* _  returnValue=""
9 i# [! ^4 D3 r, ~  lenString=len(paramString)
& q9 D8 T, u' T( Y/ j8 }6 ~4 d  if lenString<1 then
: J6 e1 Z  a% K5 G4 n; ?/ e) V  Encode=returnValue 4 q1 Q. W; p7 K4 Y. a4 f0 O
  else
7 m. B1 L8 r. |  mod3String=lenString mod 3 ' w* H0 E7 _: Y1 S
  '补足位数是为了便于计算
; p- Z' |  b) x/ q5 X6 r& p  s4 I) w  if mod3String>0 then
' s0 x  H4 F9 Z+ ?) @0 v  lenString=lenString+3-mod3String 4 |, L6 t' Z( a! [
  lenString=lenString-3
4 V% W6 N/ A1 d! o+ |  end if

返回列表