返回列表 发帖

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

class Base64Class
5 F% |) X5 h! a" G  rem Const 8 M6 z2 d* e5 c  d: P! l9 @
  dim sBASE_64_CHARACTERS'转化码 5 o9 z' P( `. q2 w
  dim lenString '计算字符串的长度
: O8 d$ @. M. |- j* D, J( b  dim iCount '计数器 ( Y3 j% Z, M' \. z* Q
  dim returnValue '返回值
3 V+ \& a7 b8 v8 H2 R* }  dim tempChar'缓存字符
5 G* B) s' e5 ^7 e0 F  dim tempString'缓存字符串 8 G2 @4 W  M7 ?+ y, i$ G' E
  dim paramString '参数字符串
& Y  c+ E% i' ]  O2 B% e% v" H  dim temHex'缓存缓存十六进制
; O8 g3 P+ j; ^  dim tempLow'缓存低位
- D. V4 Y/ T  r: [% A5 [* x  dim tempHigh'缓存高位
. f) i; q: _5 u9 x5 x  dim mod3String'
. B- j9 k8 z/ v& W  dim mod4String' 9 m) d2 I% s; ^0 q) G
  dim tempBinary' / H$ \* _1 y' B+ ?* g4 u
  dim tempByteOne' 4 @, p+ Y3 W3 s0 h: Y
  dim tempByteTwo'
7 u; i) s. ?% k3 t" H7 V5 p) ^1 ?  dim tempByteThree'
) Q9 Y9 E2 y' f) R  dim tempByteFour' , A1 R0 A- A! k- e4 G5 {
  dim tempSaveBitsOne' , C! R# x0 Q, o' R& U% U
  dim tempSaveBitsTwo' ) E0 J( K" M* J0 q/ P! Z
  '********************************************
$ G9 E: b# y! T% D8 b6 u  'begin初始化类
0 J+ R( B2 B3 U6 Q0 z8 F, y$ K  '********************************************
% G! r: c. d7 n$ a+ E' d6 P  private sub Class_Initialize()
# h6 J0 D6 v4 Q# X  M" i) o: B$ [  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
9 v- b. `+ v" g+ f1 T  '********************************************
, V. J% E6 O+ z  B/ A# c  'end初始化类 '/ U7 G& \- x  B, {/ O9 x. }  r4 D
  ********************************************
4 [1 d+ b6 v) m0 E( h+ O, K2 s  '******************************************** 9 v& I5 p% A# ]. N5 J( j6 a
  'begin销毁类 ) a( b, c+ c' g
  '********************************************
2 O1 {0 R. Q9 r" P( C$ W, H  Private Sub Class_Terminate()   A5 I- W3 Q4 g, W& B9 h
  sBASE_64_CHARACTERS="" end sub
% n4 V$ E* g  R# C  '******************************************** 5 O9 j$ b5 d. [( Z9 F
  'end销毁类 / C5 }- E' c5 X2 P: s5 C: D" l2 t
  '********************************************
; m- E0 w; I: ]& Y: S2 F+ K  '********************************************
, h+ C, _2 X8 ?% s& Q" v$ N( g  'begin将Ansi编码的字符串进行Base64编码
+ Y/ s, ]+ T& [0 O  '********************************************
( B$ I0 Y) n$ Y6 |5 H  J  public function Encode(paramString)
0 o& S  U. d0 \; c8 G; x2 c  tempString=""
* [* x, g3 W; Y' l; {) m1 r! H7 E* K  returnValue=""
3 C! c2 V% t) j, |1 ^  lenString=len(paramString)
, d. A/ Y6 W' i  if lenString<1 then
  ]  |+ H) Q. Z& f2 |. \  Encode=returnValue 8 }# T, U% {* b% {! A$ Z" G
  else 5 I  y& A# M; e
  mod3String=lenString mod 3 : r8 I; |- w8 y
  '补足位数是为了便于计算
* h$ I' C" M7 V$ D9 h8 s  if mod3String>0 then
# l4 h2 F, d8 D6 h6 G+ y8 }- B  lenString=lenString+3-mod3String 7 X4 o3 v. M8 U6 U( ^3 `
  lenString=lenString-3 ( K7 }" I% M8 @0 h! v! U3 x6 J
  end if

返回列表