返回列表 发帖

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

class Base64Class
* h5 t( Q4 v, C7 w% m4 g  rem Const $ z# u$ a/ ~! r
  dim sBASE_64_CHARACTERS'转化码 ; Z2 L+ [6 o2 E1 o: k
  dim lenString '计算字符串的长度
  Y- W  V8 Q' e/ P* U1 N  J  dim iCount '计数器   S7 [# N. Z1 q- B+ X0 I- h0 _
  dim returnValue '返回值
9 `8 X$ D! o- W2 m% a1 Y7 _  dim tempChar'缓存字符 7 z/ ~4 Q7 ^9 |  W) |
  dim tempString'缓存字符串 ' x% k# W) W  M; Q- a" b
  dim paramString '参数字符串 # _& i5 ?2 c0 s% S, P) [1 H
  dim temHex'缓存缓存十六进制 2 V  T7 Z8 F, @1 A* U4 D
  dim tempLow'缓存低位
, ~8 |5 `" v7 G3 M9 |5 |, T  dim tempHigh'缓存高位 * B# S1 w* _4 T' \4 ~* A
  dim mod3String' ; Q% |$ E  {8 X" a. _: b6 u6 x
  dim mod4String'
8 |- I, U$ R8 c- h0 n/ \) A  dim tempBinary'
. x' J  K1 w# E  y- _  dim tempByteOne'
2 r; Y( A, N3 g* M+ v# k  dim tempByteTwo' 1 m* j4 |  Q) \+ n
  dim tempByteThree'
6 D1 o/ X6 B: N" Q2 N  M+ \3 _  dim tempByteFour' : Z' T) ^/ q9 Q/ N
  dim tempSaveBitsOne'
0 p, k1 P. d" @, K# F+ f% v3 W4 \7 `  dim tempSaveBitsTwo'
( i/ x! B4 F2 b* L. ?0 p  '********************************************2 U+ \6 A. P- Q# X' h! E% O$ U: `6 r
  'begin初始化类 ) {! ?* l; |; H, B. `8 m8 d
  '********************************************
7 i& v  I- r- U! q  q  private sub Class_Initialize()
) C* Y& `7 m! n) m- l  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub 4 k7 a8 Z8 B6 i, B9 V0 r
  '********************************************
% B% q$ v* M" f6 I& ]5 C+ g4 ?  'end初始化类 '4 \9 R! T; H' D
  ********************************************
& A9 D. Q1 ~3 c, b0 n8 s. e6 O  '******************************************** 6 L0 k; q5 {" k' K+ \
  'begin销毁类
9 K" {1 n; q6 d  '********************************************
; ?" @% @1 o. K6 Y# t6 B8 q  Private Sub Class_Terminate()
6 a3 U  n- a) D/ Y6 C  sBASE_64_CHARACTERS="" end sub
$ i; w, e5 J- M6 b  '******************************************** 7 ~9 T/ ?8 r# t
  'end销毁类 ; ^8 J- `& P* z1 f
  '********************************************" ~3 F4 D# Y: [1 @' M* d" N; Z
  '******************************************** + y0 ?* O' V" P" L, W* h4 {( y
  'begin将Ansi编码的字符串进行Base64编码 9 b. Y, V. O* ~  C& }7 \. \5 d
  '******************************************** ! e# E* G5 `* _+ Q, Y4 _" H, j5 K
  public function Encode(paramString)
* }6 V6 o& a% M7 L; h  tempString="" ) V! ]* j0 v( ~; L) D* ^
  returnValue="" ; O* V# v. h- {* ], [  i! A: V& y
  lenString=len(paramString) ; m0 L3 A7 J) s% `
  if lenString<1 then
9 R, [& o* B  ~& ~% ?6 K( D  Encode=returnValue
2 u# S( E+ h5 p9 Y& }' u) D, F, _  else
) X& D; v# p/ C9 M  mod3String=lenString mod 3 ( ?& K/ ?. S2 g8 ?9 B1 K& O
  '补足位数是为了便于计算 5 c- A6 W: ?. ^. F; C0 v
  if mod3String>0 then
0 V% L! _! ^2 n$ v6 n: r  lenString=lenString+3-mod3String ) l' U7 w# ]2 _9 \1 B# I
  lenString=lenString-3
$ Y* Y/ Q) d  ~+ y* j  end if

返回列表