返回列表 发帖

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

class Base64Class
$ C6 k. _+ p$ Q' T/ p/ Q. a$ w  rem Const
2 \5 q  |4 R: x) I5 _  dim sBASE_64_CHARACTERS'转化码 8 u# m0 E3 D! X  P6 S  y7 z
  dim lenString '计算字符串的长度 $ u  X1 E+ \9 H. `: J) ~; y
  dim iCount '计数器 4 z+ K% N9 \$ i% [% T8 F& T
  dim returnValue '返回值 ; z# z* |, R/ l$ Z3 e8 o1 x$ [  C
  dim tempChar'缓存字符
/ t  X) H/ X  O  dim tempString'缓存字符串
; i9 r. L* h' Z  [  dim paramString '参数字符串
/ B5 q, z) ~, v  dim temHex'缓存缓存十六进制 * b: z8 j  U9 q
  dim tempLow'缓存低位 & t8 D: x, [0 v( M$ K5 D
  dim tempHigh'缓存高位 8 J, J" |# G& @  U! h3 u0 {
  dim mod3String'
7 ]/ S8 |, W6 e  dim mod4String' : c  O2 L6 H* G, ]& A+ L# x3 K
  dim tempBinary' 8 X  u( @, F+ p$ M' f* Y
  dim tempByteOne' # T9 H  M7 z. [, r4 d
  dim tempByteTwo' ) V) V1 g4 W# A( u# J, R6 F( }
  dim tempByteThree' $ K1 G: `) E) V9 M) i. H. i" h5 }9 _
  dim tempByteFour'
- m' l3 t, N) n& Q: b( Y  dim tempSaveBitsOne' - \) I8 g2 V9 ]+ x
  dim tempSaveBitsTwo'
+ C# n/ j. `7 L) c2 T  '********************************************
+ `6 Q6 ~2 r# h) U  'begin初始化类 , r3 T  g  o  L1 |
  '******************************************** 1 f: l5 [- o! J: z8 N/ I, N
  private sub Class_Initialize()
5 O9 `! [3 S5 U  e# S  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub 3 E; S( o" g! z5 y5 \
  '******************************************** # ?9 X7 T$ g& s9 W
  'end初始化类 '
( l6 M% A6 T- j  ******************************************** & ^% J1 L% O$ m( ?
  '******************************************** & Y/ @3 r: I3 ]) `4 \0 j0 T
  'begin销毁类 ( R, C. v6 ~5 @. r6 L
  '******************************************** 8 C0 z" A* C% j; a6 C0 e
  Private Sub Class_Terminate()
3 r) \8 ^$ d* y3 k5 V  sBASE_64_CHARACTERS="" end sub , P4 C# k- [4 S6 w& {4 p3 e- @2 j
  '********************************************
! D& X- b2 S8 g6 o. N( _  'end销毁类 : L  e8 r( i$ V( E  l, a+ B+ i
  '********************************************2 }8 a- h# R- r- x) A* {
  '******************************************** ! ?0 |% l) F# m9 b; N4 _/ @* N) v& F
  'begin将Ansi编码的字符串进行Base64编码
( }4 t' f4 L' u& |! C9 s  '********************************************
0 w. `4 V$ y2 v  public function Encode(paramString) 0 Z2 b; r9 Z* z0 y2 ?: j  R' y6 J
  tempString="" 0 P" o$ ~7 G+ L# x9 s  W
  returnValue=""
' i1 @* K7 Q! Z4 T  lenString=len(paramString) & R/ K2 u# g, {5 X- U, }
  if lenString<1 then
0 O& I! C8 E7 ?# G  Encode=returnValue
% D5 a& D/ |2 P1 k2 n% }, I  else
4 r! \* J0 d2 I( Y! b, n3 g0 ~  mod3String=lenString mod 3 8 ]2 |; x: x6 {, d6 [
  '补足位数是为了便于计算
+ L& g# n( A/ F, a' Y  if mod3String>0 then
( G, H1 d& r" z5 B; X6 E  @6 f9 b  lenString=lenString+3-mod3String - X1 {$ Q7 y2 q% f. ~8 K5 Z9 ]8 {
  lenString=lenString-3
& M( K- F7 H( q- l6 @+ E7 j  end if

返回列表