返回列表 发帖

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

class Base64Class8 N. s, j/ I0 \4 B2 f
  rem Const
- w( g% b8 M  I( S4 ]% v' l6 m  dim sBASE_64_CHARACTERS'转化码 , E( ?) a& M5 E& A# |  K7 ^! p
  dim lenString '计算字符串的长度
0 X1 |. t6 g( T4 a4 t+ O0 n  dim iCount '计数器
8 r. F  n, d7 w6 v( M! `  dim returnValue '返回值 ; N; p& U5 Z# H' d( q& x* ^, T
  dim tempChar'缓存字符
1 l4 h  E8 m3 M2 l! t, O  dim tempString'缓存字符串
" Q( r  r+ A. r2 f; ]! A0 O, i" o  dim paramString '参数字符串 / G' D3 N6 \5 W+ l. Y
  dim temHex'缓存缓存十六进制 6 v0 r, n  {* x2 b7 m) A
  dim tempLow'缓存低位 * O7 {0 v, W1 G2 E: i: U8 ]+ @9 R) [
  dim tempHigh'缓存高位
) L  L# s4 N/ f8 N  dim mod3String'
' c# G" ^/ e: D% j/ ?1 U# l  dim mod4String'
  |5 n. H9 a2 j4 K! t  dim tempBinary'
  G6 L  z3 ~- a: R9 `  dim tempByteOne' 6 M2 ~! W& E! z/ Z  m+ ~
  dim tempByteTwo' ) B& Y. g7 {9 J, O
  dim tempByteThree'
# D, G. B! A8 v% x- {5 D! |/ G- u8 O  dim tempByteFour'
; z5 D% R+ T0 S+ P: t! t  dim tempSaveBitsOne' % M; T+ E8 K7 C) o  R. y8 Z; b
  dim tempSaveBitsTwo'
5 K! J; |' g# t; ^$ C  '********************************************/ K" J. M& ^0 u2 o+ ]9 O1 n
  'begin初始化类 ' }% I, J! [( `+ u
  '********************************************
6 p- U' S0 P6 G  i1 C& h  private sub Class_Initialize() ; B# r, v0 P; z
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub # P+ J$ _  @1 A/ E
  '******************************************** & r0 R; x: q9 V
  'end初始化类 '
5 d9 Q7 M3 o7 p2 s$ e( M  ********************************************
5 x( i0 R! z- J+ L/ Q( T  '********************************************
9 B; w% F5 c4 \+ V3 q  'begin销毁类
! M. B+ F9 D* E% c- n  J  '********************************************
& y( i7 S8 k) J; n2 n2 a- P  Private Sub Class_Terminate() # f& y7 u2 D4 Z; U4 P
  sBASE_64_CHARACTERS="" end sub 7 Q) d4 c, l" {" {& X! m# K) m
  '******************************************** , _& Z9 j$ [! W# P  }+ H; h7 d
  'end销毁类
. S0 W" e; @2 Q' t% A7 j  '********************************************
' x" y' n( W+ @3 g5 K) Y9 B  '******************************************** " q0 O5 f7 i5 S. a
  'begin将Ansi编码的字符串进行Base64编码
- r- I6 H( T& j4 t- {! @  '******************************************** # H* W% D* x! D: j
  public function Encode(paramString) " @. B- Q( X3 X2 T, I, J
  tempString=""
7 h5 F/ m) }1 j: W5 \  returnValue=""
" G8 w# U1 Z  T! N  lenString=len(paramString)
, J( C+ R0 q* l7 E/ V  if lenString<1 then
8 A/ \* o+ r, U; E7 b) D* H  Encode=returnValue
7 _+ ?8 I. @7 V) q5 i  else
; i* {+ q! _/ T( n; K  T  mod3String=lenString mod 3
5 C# t0 s0 j$ t5 K* j  '补足位数是为了便于计算
$ Y3 ~* b# A: ?8 z+ G  if mod3String>0 then
# a1 b4 g. A  u  A" z  lenString=lenString+3-mod3String 4 m, E. Q+ G1 b# i
  lenString=lenString-3 & c* U- L& I" t) ?
  end if

返回列表