返回列表 发帖

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

class Base64Class
& @$ I; A2 C# z$ v; F' e2 w9 s  rem Const 3 B+ w7 e, P/ Y+ j
  dim sBASE_64_CHARACTERS'转化码 # v- b1 c5 q+ y  G5 ]+ c2 i3 i
  dim lenString '计算字符串的长度
- s: j3 V- ^( p: z; ~0 K- _* i6 ]  dim iCount '计数器 " ~# N& W% h: q" o5 w- f+ m
  dim returnValue '返回值 $ y# X' ~/ z: u7 u
  dim tempChar'缓存字符
+ c4 E( q! D& p4 k% D/ B) M  dim tempString'缓存字符串
* w7 p- \# x: Y/ l% x" [  dim paramString '参数字符串
# {3 N! F' ~( x3 y" ?5 S3 L5 [  dim temHex'缓存缓存十六进制 . E" J6 }% d/ C
  dim tempLow'缓存低位 0 |8 V. D: X# s0 {: J: E+ I, K" ~# K8 t; w, c
  dim tempHigh'缓存高位
  G+ P1 z, y+ z" P* _5 @  dim mod3String' 1 T2 H( E# E/ h5 f$ N2 S
  dim mod4String' 1 r, T8 k5 v) |& j
  dim tempBinary'
! r7 W% F0 B* V, `9 [; \( S5 g- B1 e  dim tempByteOne'
! U" C: `6 P: c" Y/ u, |  dim tempByteTwo' ) w3 ?: E% z( c3 Y0 k
  dim tempByteThree'
9 l+ s6 c0 G/ _- q! G( f  dim tempByteFour'
4 b; j7 g. x( r( C8 X  dim tempSaveBitsOne'
5 y3 ]: d1 `- h& S# O8 S  dim tempSaveBitsTwo' - d$ O" D/ J2 |
  '********************************************( F" U6 j7 R: l+ z5 n
  'begin初始化类 ( G/ H$ ]5 P, V) d2 h
  '********************************************   ^5 @; O& d) q/ N; [
  private sub Class_Initialize() ! d: i  K4 E3 g8 z0 r
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub . C3 b. t1 P9 J
  '********************************************
. \8 d: S9 ~8 ?  ]  'end初始化类 '
8 F2 E( ~0 i: F) I6 j  ********************************************
5 M  Y- I2 P6 j" D/ C  '********************************************
% C9 G- M" Y9 W+ u9 @  'begin销毁类 ; y4 O% f* C$ A* [( Z
  '******************************************** 7 ?  @( Y: [) {% K
  Private Sub Class_Terminate() ' U/ u, U  q* K/ z) G) i
  sBASE_64_CHARACTERS="" end sub ( u" ]8 U0 J7 {/ ?( @; H3 D5 o
  '********************************************
- E4 L4 J- n, k3 ]; E3 \  'end销毁类 2 V3 i- T& ~) A
  '********************************************
& d  g* `7 Z5 k) N  '********************************************
, u# D% x/ \. X0 o# w# ^3 K  'begin将Ansi编码的字符串进行Base64编码 ( n0 k$ e4 N* a+ K2 Q
  '********************************************
* e. Q/ M; F- ]3 F  Q& ^0 X  public function Encode(paramString) ) n2 A, I: U6 A" X
  tempString=""
3 o% y" A7 k- Z8 ?% j" T& {) v0 f  returnValue="" 6 d8 u5 m* |7 m
  lenString=len(paramString) ) @* W2 V' i( e& ?
  if lenString<1 then
! @' {. ]- P: u. n" |- d  Encode=returnValue 5 C4 ~% u5 j6 n9 d. `' D
  else
9 ]7 \( }" L4 E# S6 s  mod3String=lenString mod 3 9 l; X; Z; g# j
  '补足位数是为了便于计算
' P2 z& @9 [# `. P! T/ H* b  if mod3String>0 then
+ s& }$ M7 f# y# R, Y4 T  lenString=lenString+3-mod3String ; u; w" _$ w5 O; ?
  lenString=lenString-3 $ a- Q% j0 ~% u
  end if

返回列表