返回列表 发帖

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

class Base64Class
7 G7 G# e4 v% i; t4 \4 q  rem Const # B6 \: \! S& g  V
  dim sBASE_64_CHARACTERS'转化码 " _6 p( L, \  m
  dim lenString '计算字符串的长度
; \: @6 w% j7 L- C; c, Q+ I& R  dim iCount '计数器 " z1 w% H" g# e. Q; U3 Y
  dim returnValue '返回值 9 ]! O8 G4 K9 ^, x9 x; l6 j) r# j
  dim tempChar'缓存字符
, }1 I  D1 |! G3 g  dim tempString'缓存字符串
* U  ]% }* X- g7 B) z9 T  dim paramString '参数字符串 ; }5 K4 y1 }! }- x/ D7 e
  dim temHex'缓存缓存十六进制
/ L3 o) |0 ^! s% u4 s8 m: {8 x  dim tempLow'缓存低位 6 A$ \- `4 s4 Z
  dim tempHigh'缓存高位 ! r4 M6 {7 _( ]$ ~
  dim mod3String'
7 q+ ]- j/ D' k8 X% W7 C- }3 d# v  dim mod4String'
  o% E5 J1 C' }( g9 @2 w  dim tempBinary'
% }* q" N2 e4 ~) ^9 w5 x  dim tempByteOne'
3 Y5 u5 x. R2 Z! N, ?, _  dim tempByteTwo'
  s& h6 R3 P0 M" @9 w  dim tempByteThree' 1 q9 F  S) I& [: P6 z
  dim tempByteFour'
, b% `9 U. ^, s; K  U. `2 H  dim tempSaveBitsOne'
# |; S1 }! T4 H3 @, K, R2 u( a  dim tempSaveBitsTwo' - g' @/ Z' o0 \3 G, d' {( v5 R
  '********************************************2 g: ]7 W3 n4 c3 a
  'begin初始化类 3 E( S. ~6 X- v9 Y, i$ F
  '******************************************** " [8 @2 ~* p+ W( K6 T
  private sub Class_Initialize() / }1 p. u3 r# l1 A/ k0 E
  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
2 ^2 z; f$ O% @) W. d6 y  '********************************************
/ G( h' T9 q1 a# ^  'end初始化类 '3 B( q7 u* |: [1 k( D8 k" d
  ********************************************
  l# w, B' h: X2 n  '******************************************** ' ]% L" o# N; }+ Y1 A( ?
  'begin销毁类
, Z0 B$ L6 C7 b3 l# M  '********************************************
! Y' o* T' ?9 m: E  Private Sub Class_Terminate() / U: h" Q, `0 t# b
  sBASE_64_CHARACTERS="" end sub $ ]  o; B8 X. _3 R) K, Y
  '********************************************
2 X- v, }/ O. e6 Q# t  'end销毁类
: T: E1 P; [! \% m  '********************************************) c- _9 z9 P3 h
  '********************************************
$ Z) N& v. l) L# A  'begin将Ansi编码的字符串进行Base64编码 6 h7 U5 w9 O& v; N
  '******************************************** 4 F: L( _! y/ E2 L' J2 C# ]
  public function Encode(paramString)
) F1 K! y* _& V! y0 j: B, d- v$ W  tempString=""
1 l8 s2 `1 z. {1 W* t/ A1 e  returnValue=""
! u8 M" b7 W4 T  lenString=len(paramString)
+ r6 E" x; V: I2 q  if lenString<1 then
3 q) e) r: v0 ]9 v8 H6 X% k  Encode=returnValue 3 w: Q0 u- [- M" T4 ]
  else
7 f9 k# b- W7 W: C  mod3String=lenString mod 3 . V0 X. i6 a3 K" a: d/ d
  '补足位数是为了便于计算
- @9 ?% ?2 N  H7 \6 `1 S5 d! k% d  if mod3String>0 then
) Q7 W; F0 L& `: B$ U  lenString=lenString+3-mod3String 1 i0 j% _, \+ q4 Z' y* R. W' W
  lenString=lenString-3
' L) Z7 d% d+ a$ u- _/ n/ n  end if

返回列表