返回列表 发帖

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

class Base64Class1 J( a6 u" m: D3 P
  rem Const
+ G; k( Q2 R' z9 H: m$ c6 r  dim sBASE_64_CHARACTERS'转化码 6 h0 O% p! [+ ^4 h
  dim lenString '计算字符串的长度
$ [, w+ I# h( Q4 G" g, C  dim iCount '计数器
# f$ V7 u. T- u5 R6 a5 D4 u# Z  dim returnValue '返回值 " L: X. h! k7 l  {! W; O
  dim tempChar'缓存字符 4 N8 M& c& U& a1 X
  dim tempString'缓存字符串
" U4 C& I4 B4 X  dim paramString '参数字符串 . Z/ W7 C, g9 a! z$ M* f5 L
  dim temHex'缓存缓存十六进制
7 M: x& u% Y: ^" }% ~  dim tempLow'缓存低位
2 N, d0 U3 q7 i0 t% `5 S4 [6 e  dim tempHigh'缓存高位
, `9 R/ e  a$ p: P- I  dim mod3String' ' x5 n0 W! b- I4 e
  dim mod4String'
) x- o' e7 ]* ?  @( x  dim tempBinary'
# g! g. W9 j8 a4 S4 [2 @- k$ d  dim tempByteOne' ! I! x1 B+ B' f: X$ C% j; r
  dim tempByteTwo'
- b: G/ h5 q# W" L" Z  dim tempByteThree' 7 ?* `( ~7 e" e% I" e+ |
  dim tempByteFour'
. c/ R+ M1 U! ?; c8 k+ o* p  dim tempSaveBitsOne'
1 K! o) m8 v; A  r6 D* |  dim tempSaveBitsTwo' 6 L. h8 A; g8 B. K8 v8 F
  '********************************************, ]- B- [" v( r' g8 V: S
  'begin初始化类
$ h. @0 M" g9 e; a$ b  '******************************************** + Q3 v0 q# C, [3 ]
  private sub Class_Initialize()
* r* F& S, `3 V* z% l  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
1 D$ y9 L* L0 g, L; D/ A  '********************************************
6 H" O$ p0 Z' I/ V  'end初始化类 '7 _. Q0 Q: B$ p# `; l9 x
  ********************************************
: B  `' S5 Q/ U: O' p# U  '******************************************** ( G% w$ E* K! q6 h
  'begin销毁类 # L( b1 e0 c! n: S
  '******************************************** 2 \# i7 U" Y. c. \  o7 U2 U
  Private Sub Class_Terminate()
+ q3 F3 }$ v# W: L- K5 P$ y  sBASE_64_CHARACTERS="" end sub & x% q' D2 b6 h; x
  '******************************************** 0 G' R. n+ u4 {! q+ n2 [
  'end销毁类
: c; X" N9 X- K3 N: h$ b  '********************************************; g- J+ T, j4 i# R
  '******************************************** . ^* L+ ?2 \# V' ?3 Q3 a0 ]
  'begin将Ansi编码的字符串进行Base64编码 , V3 @3 r. R1 L3 K% p! }
  '******************************************** 3 C1 e: c: `9 ?/ N, D; z/ w: D
  public function Encode(paramString) 9 U3 y8 R; t+ p9 ^/ j5 u
  tempString=""
& f+ s  x+ A1 o- u* i5 q  returnValue=""
# n% [; h2 t3 B! |( M6 q  lenString=len(paramString)
9 `: m: i9 y7 a" F) i$ Q  if lenString<1 then $ X/ `6 F( ?- J6 J: T. ^3 S
  Encode=returnValue $ V. \: d. H8 f
  else
3 a5 U. ]; L: L- q6 h  mod3String=lenString mod 3 & o) ~4 q, z( z/ l9 x( q
  '补足位数是为了便于计算 4 y0 D7 V& {  `
  if mod3String>0 then
8 n( X1 H: h( o+ R" a  lenString=lenString+3-mod3String
9 A/ f0 i& d9 o# n2 w; J  lenString=lenString-3 - A' g' u+ }, Q7 E+ w) Z* @
  end if

返回列表