返回列表 发帖

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

class Base64Class
# d8 f( Y$ K: `2 Z! P; u9 c- e  rem Const 0 P3 N7 S* `' W% H2 Z0 [& Q
  dim sBASE_64_CHARACTERS'转化码 , \  b! ^* O% k( x2 X' O
  dim lenString '计算字符串的长度 ' v6 j" A& j. {# T1 I( \7 c$ c) Y
  dim iCount '计数器
+ Z) \- l' o( ~  C. A  dim returnValue '返回值
" o7 N, ]' [4 F; ?0 y7 ]( g5 R  dim tempChar'缓存字符   ]8 B3 |1 i; f. f% D
  dim tempString'缓存字符串 1 n+ }6 S" D& W; ]
  dim paramString '参数字符串
* H( U8 f$ J& O& d2 G  dim temHex'缓存缓存十六进制
" J3 E; C3 }" O6 k  dim tempLow'缓存低位 2 a2 I8 e4 C0 }5 ?* J2 k
  dim tempHigh'缓存高位
8 k/ x2 L2 Y5 n4 s5 z- j: {  dim mod3String' - S: h( G: G# v3 S( b- O& A
  dim mod4String'
- o9 ?2 i3 ?* Q8 [# E- g  dim tempBinary' / p( q  r4 z' _  l$ G
  dim tempByteOne'
  b+ E8 M. i* H$ f$ L  dim tempByteTwo'
1 p, V9 o* f' _/ ~  dim tempByteThree' * U' a9 T/ S- w6 \
  dim tempByteFour'
. p: {% ~1 R( L4 g* e  dim tempSaveBitsOne'
. d) d) U3 D) z, y8 r* z' v7 a; D0 Q! J  dim tempSaveBitsTwo' : y6 v1 m0 k; n/ f- O
  '********************************************' e0 }9 y, V1 o2 _; Q- k3 F+ ~* r* S
  'begin初始化类
7 D( H2 Y& H, M: W+ Y- v  '********************************************
! `" T  J3 b8 u" c  private sub Class_Initialize()
/ {9 e$ T) q0 J7 e- k  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
% M5 a2 S, A1 P2 U6 U$ d  '********************************************
9 b; F1 C2 @4 S- i8 [0 g6 n4 U+ I  'end初始化类 '! g5 m* j: L5 F9 c; \- O& }
  ********************************************
1 n% h! W6 R( s# P8 I4 Y  '********************************************
9 h0 Y6 F) J+ S# [6 W  'begin销毁类 3 ^, R2 [: \1 x1 S
  '********************************************
- o! b( m  \% Q! Q0 e, B, l  Private Sub Class_Terminate()
- `/ k- Y! S1 D, f6 N  sBASE_64_CHARACTERS="" end sub
0 d: S) O; e' p7 \; M+ h  '******************************************** 1 ]+ [" {8 H0 V. B) y, W4 L6 L
  'end销毁类 + ^3 }. M$ {5 L; @3 `
  '********************************************
. b4 ^$ ?! y  I# h  '********************************************
" N8 _- ]" f* z; u- Q' J  'begin将Ansi编码的字符串进行Base64编码
* O" K$ }7 W* @" u% J3 i  '********************************************
. {  u. @7 N! E. P  public function Encode(paramString)
$ b- Y7 L; a/ H3 Q. i% N0 v  tempString=""
# h/ x" b5 v3 N8 B  returnValue="" 2 V. a% l) K( H
  lenString=len(paramString)
1 {1 _1 U' i, U6 E  if lenString<1 then
0 P& w0 }$ Y) A8 t  Encode=returnValue
- {0 q4 F& J9 k8 N7 v7 Z3 |  else
/ Q' D5 m/ G  j  mod3String=lenString mod 3 - J$ |9 f) `( z
  '补足位数是为了便于计算
2 \  u4 @# J- E9 N  if mod3String>0 then
0 `+ \- ]0 _. a0 U5 K+ s  lenString=lenString+3-mod3String
, b/ k5 ~& H' k7 }) Q0 o5 H  lenString=lenString-3
0 h- ~! J" v+ `' F" J  end if

返回列表