返回列表 发帖

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

class Base64Class
# @& M3 z4 \; J4 p) M4 d4 g5 Z  rem Const 3 Y0 i4 T; x) a# Q. [0 ~2 f
  dim sBASE_64_CHARACTERS'转化码 / ^1 Y) w5 p. v, k: N, h
  dim lenString '计算字符串的长度 5 `8 o5 W9 O; J; J8 |3 {2 u. ~! y+ T
  dim iCount '计数器
1 j8 G" G( p, Q  dim returnValue '返回值
. d9 X2 n: e% X; [. h  dim tempChar'缓存字符 2 p7 V% x: t( P# W  ?
  dim tempString'缓存字符串
- q% X# c" E7 V' B  dim paramString '参数字符串 : E4 G( H6 a2 |; s6 t, c& p9 U
  dim temHex'缓存缓存十六进制 4 d2 f# r; Q/ i. g* D4 T2 V
  dim tempLow'缓存低位
' B3 m% j4 |3 O: P  dim tempHigh'缓存高位
: `4 A/ j- d6 O+ Z  v  dim mod3String'
1 u. O$ W: M, Z4 C# B2 o- u  dim mod4String'
! N/ B% _" ]/ V) z, r" k+ h  dim tempBinary' ( d+ H: V# O! y. J) S" w; E
  dim tempByteOne'
9 S  P3 P; s0 a- Q$ x  dim tempByteTwo'
- U9 n0 [1 I) n0 w, e5 l4 j% ]1 P1 S  dim tempByteThree'   n3 d' N( \/ M) o8 B" A) F! U, j
  dim tempByteFour' / H: G; c* N) z
  dim tempSaveBitsOne' % I! a) U1 V( v8 x
  dim tempSaveBitsTwo'
% r2 i; e. W/ V; d  ~  '********************************************
$ y4 p  Q; `9 t6 L1 y  'begin初始化类 ) z+ u) A* f! k$ B; B6 v: j
  '******************************************** 1 j& h' n0 A9 R4 J
  private sub Class_Initialize()
! ^4 q' t; p' q% F- L  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
  I) u0 S7 J; d( [% E5 C  '********************************************
4 \/ e+ T, M. N& s4 L5 X& p  'end初始化类 '& A+ `9 W# t! u, u# t
  ********************************************
$ s# I) S0 b0 S! H9 f  '********************************************
  F0 H" c' ?# {" k- K  'begin销毁类 7 n4 O7 m6 \& g
  '********************************************
, j% K/ y7 E6 |* l  Private Sub Class_Terminate() ; x, Q0 F* q" }9 W# f5 j$ S/ v
  sBASE_64_CHARACTERS="" end sub
# d/ ]" Z4 a2 }  '******************************************** & @3 t" d9 x) a
  'end销毁类
) B( C' }! ^; _  o: u  '********************************************, X% B4 A! F- ^( |
  '******************************************** 5 `+ V# T) W9 _3 ?) E# ^1 h9 x) q( R
  'begin将Ansi编码的字符串进行Base64编码 ( K  Q4 n3 Y9 _) o5 E
  '********************************************
, o: Q* h' r: }$ \0 s# _) t0 l  public function Encode(paramString)
6 f; j6 {  \) v8 g+ P. m# p$ F1 s  tempString=""
6 M5 q( o- ]" k0 A& Y7 L* K  returnValue=""
9 q, Z* E! ?5 @  F' O6 m  lenString=len(paramString)
" A$ ~4 H) A) ]- T* J2 C  if lenString<1 then + i$ U7 X$ T7 Z* M5 I' d: X, A
  Encode=returnValue
& b1 f, @1 f+ a* S# I  else
: Y! ?' e  i  ?1 U$ \, k  mod3String=lenString mod 3 3 Z" j4 l- P* h5 }" a6 F
  '补足位数是为了便于计算 3 o' ]5 [9 c; w# g
  if mod3String>0 then " `* y7 Z1 [6 W
  lenString=lenString+3-mod3String : ]# D5 C$ j, J! k; w) k2 s- D, z
  lenString=lenString-3 : v( M  J9 I& h) o
  end if

返回列表