返回列表 发帖

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

class Base64Class+ ^1 T7 Q, _( {. ^% U+ p7 \
  rem Const $ q8 N5 ^( \! r9 `7 G# `) Y
  dim sBASE_64_CHARACTERS'转化码 # P" U/ O( ~0 B, z) W8 v
  dim lenString '计算字符串的长度
" E5 x/ B% t- r4 ]4 H$ p: Q  dim iCount '计数器 1 E2 d9 o( \+ b1 b
  dim returnValue '返回值
. d/ S, H+ C  `& Z% E5 |: p" k  dim tempChar'缓存字符
3 O9 k/ d8 {0 S* r& }  dim tempString'缓存字符串 ! z# G( c. h( a) ?* _0 W0 R1 O+ I
  dim paramString '参数字符串
) j5 S8 a2 P& R% j  dim temHex'缓存缓存十六进制
* {6 x1 e( p: O) {  dim tempLow'缓存低位 8 v. a: C5 o9 B0 {. c' h
  dim tempHigh'缓存高位 8 o4 u% L8 x) h" U
  dim mod3String'
$ H+ u( ^  f, Q. D9 J0 V  dim mod4String'
3 s/ K8 N/ x3 [9 A* m9 \  dim tempBinary' ! O) k9 p2 p- @# C) [' D4 ?# Q
  dim tempByteOne' & D" a' r, ^$ [& Z* a( W. b9 o
  dim tempByteTwo' , [; a4 ^* ]3 ~2 n& _' p
  dim tempByteThree'
. e5 U5 ?2 D$ t  dim tempByteFour'
# |' n& n4 K. K9 L! r3 G3 D  dim tempSaveBitsOne'
. ^$ Q/ k( Q2 r7 V) T# [6 J4 N  dim tempSaveBitsTwo' 5 M. k6 G' d' t
  '********************************************
8 N. _# M3 y1 q0 u  'begin初始化类 ; ?' ~' Z9 u* d  E0 y7 _2 C4 X7 a
  '******************************************** 0 x2 J/ R$ R8 l' h6 g
  private sub Class_Initialize()
* W8 n* F4 Z: \& {! B5 `" X  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub : w& M/ f( T. R  N! l! ^% B. u# U2 S
  '******************************************** : E2 z' K; @* B" z# e( F% O8 }
  'end初始化类 '
* o9 l' z- ]4 R) P' k  ******************************************** , k2 T+ s) z0 {
  '********************************************
, C' a9 ]( v" H  N& Q  o8 i5 [9 D  'begin销毁类
  C& g, Y: x7 P% q- B5 ?  '********************************************
$ [' X, l' E* U$ ^" K  Private Sub Class_Terminate() ( \% y! L* _( ^  t& N" R
  sBASE_64_CHARACTERS="" end sub % Q, T' C. y5 q! D
  '********************************************
2 n- e# t& R4 c  'end销毁类 ; }" l) E. a8 |/ _6 [7 e
  '********************************************
$ z4 w7 L& k, [' W  '********************************************
3 [) @% _9 [0 L) J! M2 q& n/ Y  'begin将Ansi编码的字符串进行Base64编码 - V4 s- w- s& `! }/ z! D4 d' |
  '********************************************
) e1 A4 x& r5 a  public function Encode(paramString)
( H- u6 A" s+ q( Z  tempString=""
4 C4 A. [: C& q/ Z  returnValue="" 9 O2 B" L4 Q: p- M
  lenString=len(paramString)
/ m6 D4 y) {& V  if lenString<1 then ' ]0 Q' H0 ]+ r8 j
  Encode=returnValue / q5 l. r3 h3 L' D5 L5 l" v$ a
  else & P3 Q2 m# b& V6 H
  mod3String=lenString mod 3
4 S/ h8 i# u4 \$ {* b  '补足位数是为了便于计算
4 q/ j' w4 C/ s% K3 r6 p  if mod3String>0 then 1 O) y5 I0 z7 \/ |) y. K( w3 z$ u
  lenString=lenString+3-mod3String - E3 h/ t1 G$ F* n% |5 c
  lenString=lenString-3
6 N! Q: a& u& F9 M7 X  end if

返回列表