返回列表 发帖

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

class Base64Class4 D0 }, C1 Z3 h; c/ l( n
  rem Const 8 S+ n  m7 c* Y
  dim sBASE_64_CHARACTERS'转化码 " y# ^2 O+ z2 T7 E% t
  dim lenString '计算字符串的长度
2 F- G$ b; \! p9 P4 q$ f  dim iCount '计数器
% ~$ W& [+ }# H, Q- B+ h4 I$ C  dim returnValue '返回值
9 e+ z+ H  A& c0 ]$ O! ?( m8 _  dim tempChar'缓存字符
8 u; _6 G# ]# w0 g0 L. o! ^% X  dim tempString'缓存字符串 ' K  I! i# d0 _) o: D$ w! x* ]
  dim paramString '参数字符串
. R( W( t" V7 q* z  ~  dim temHex'缓存缓存十六进制
/ `6 h" m! n0 n4 H2 u. b6 U( T  dim tempLow'缓存低位
2 ^) R) I/ I+ C. c4 r; o; Q9 f& K8 B  dim tempHigh'缓存高位
) z; ^* }* w9 a1 T3 i+ G5 d  dim mod3String' , s' J. x: q) L3 a* F! }+ z* ]
  dim mod4String' & H# `' l! t' v* y' [6 U
  dim tempBinary'
4 o7 q1 G8 l; z  dim tempByteOne' 1 B' x8 G4 y2 ~8 I3 Y
  dim tempByteTwo' ! N* n+ |- w& w8 M( J+ f8 e
  dim tempByteThree' # o% D/ b) ~" e, v7 \7 M+ f8 k
  dim tempByteFour' $ X+ B# Y" W  Y" G: C5 }( T: P
  dim tempSaveBitsOne'
0 r, D; S8 p, W: h* k  dim tempSaveBitsTwo' * X+ X% I! j0 q$ K7 Z
  '********************************************
1 i4 T* G/ e+ a  'begin初始化类
5 d' i1 d" l3 S0 H* x  '********************************************
4 T: D, e6 O6 E  private sub Class_Initialize()
' k7 R3 a& @' f/ T  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub
0 r: d/ m/ P6 O. W4 i  '********************************************
3 Q- [9 c4 [% B: a/ a0 E  'end初始化类 ', P( _" a3 }$ n& I/ ?7 ]: P
  ******************************************** 4 O0 X' X) P" N" C' q
  '******************************************** ) X( `3 j. w1 [6 V' b
  'begin销毁类
# F1 x2 i" N) F0 E6 ^  '********************************************   e0 x9 S  L- {; U) }1 |4 e
  Private Sub Class_Terminate() 5 |$ [# R" Z: {
  sBASE_64_CHARACTERS="" end sub
2 B4 m4 C( o+ T) X  '******************************************** + d' k, m5 S/ ?4 M8 z
  'end销毁类
) R# U( c: p3 n  '********************************************. e; t! Z" o3 b! A: ?8 `6 J! x
  '********************************************
8 e8 s) ?; N$ |  'begin将Ansi编码的字符串进行Base64编码
/ s0 v+ }; Z' D* C7 z  '******************************************** " ]1 |0 x% ^! w
  public function Encode(paramString) 1 ~# q9 H7 ?4 r
  tempString="" 4 b9 i+ [: p6 V3 N. g
  returnValue=""
0 ]1 y9 {- A% z- _9 U( i  lenString=len(paramString)
& l) ~. p9 z, {+ Y- [+ J6 m  if lenString<1 then ( E* L5 v  h9 v0 S
  Encode=returnValue $ q5 U! b9 e. f( V: l
  else 9 o0 B+ r. ?  g6 @) u' W8 |
  mod3String=lenString mod 3   C0 t) R2 w8 z/ F; V0 f
  '补足位数是为了便于计算
# [" I& b& w! m; z  if mod3String>0 then
$ ?. I" W# k% |, K8 U" c% z( E0 P  lenString=lenString+3-mod3String
2 b+ G' n! k$ [: y3 a  lenString=lenString-3 : l5 A2 }8 Z- J1 R, U
  end if

返回列表