返回列表 发帖

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

class Base64Class; i2 m$ h2 H$ ^
  rem Const
$ S7 {( y. H  L  dim sBASE_64_CHARACTERS'转化码 1 _  O6 G, z0 P2 M4 c0 o
  dim lenString '计算字符串的长度 3 s( A* m  t9 M7 ~8 m+ v5 [
  dim iCount '计数器
; N, z0 Z7 n# L3 _- s3 B  dim returnValue '返回值
/ F- e/ W; ?, S) `  dim tempChar'缓存字符 1 [9 j3 L9 R2 A5 U* j5 E
  dim tempString'缓存字符串 & A/ f* P9 K" P# j* u2 _3 J* Z
  dim paramString '参数字符串 8 O; X$ o$ N/ }! r9 h, v1 u
  dim temHex'缓存缓存十六进制 6 V/ g* c- }! {* w
  dim tempLow'缓存低位
0 I* t* K( y& j4 m7 k& v5 K  dim tempHigh'缓存高位 $ H7 ?3 g, Z9 m0 R9 J( W
  dim mod3String'
, T2 j7 A  j4 i+ q. j$ b1 b  h& D$ w  ~  dim mod4String' 7 C( D2 j; u) B# y7 X) U
  dim tempBinary'
' j; O# U$ d# ^, I  dim tempByteOne'
. `0 f6 z: w# k1 J, `, I* e  dim tempByteTwo'
6 U. U. S7 x& ~6 b  dim tempByteThree' . T* j& w, o1 ?& e: C; h- F
  dim tempByteFour' " z  D* k. J) v% U
  dim tempSaveBitsOne' 2 I" U0 |# ~7 L, r7 U
  dim tempSaveBitsTwo' 4 z0 w4 t' x0 u+ N( s' _
  '********************************************
, o; \( I7 r" Y  'begin初始化类 * O% k% j3 t  `" }
  '******************************************** ; J1 F1 `3 C( Q" k+ d3 U
  private sub Class_Initialize()
  ]( e4 H+ I$ ~4 b  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub % E0 Y3 F: `+ y" W( ]8 h$ g
  '********************************************
: N4 X0 \7 q# f& V, d  'end初始化类 '
: l  k0 o5 o; `/ r: L  ********************************************
8 B7 u% z- U& T1 x  '********************************************
2 s3 }. {' z: Z  t8 u# O# ~$ L- ?  'begin销毁类 4 H$ ~2 x  Q! ^3 n
  '********************************************
1 T' I0 K4 Q7 u2 g  Private Sub Class_Terminate()
' o3 P- @( c0 x/ c/ v) M' j1 b  sBASE_64_CHARACTERS="" end sub $ g& I# U% V2 v6 ^) u5 P) J8 O
  '********************************************
' `. Y. G9 }, C8 H. ?  'end销毁类 . _+ x- e8 n. y3 o
  '********************************************, q7 F. d4 T, {# Z; n- `0 u
  '********************************************
6 Y0 a1 l( S( L+ f! W2 M  'begin将Ansi编码的字符串进行Base64编码   N4 n* }2 A/ o! b( h+ d
  '******************************************** 6 E# ]& d/ |6 H: L8 r4 n) X5 W) y8 w
  public function Encode(paramString) : m3 O) {  M9 |# w
  tempString=""
: N6 T6 ^1 }% q; q$ a  returnValue="" 6 Y7 p; }( W1 S; F8 l
  lenString=len(paramString) 0 w1 U# i7 t% ]) o7 U; C6 G$ X
  if lenString<1 then   r  t8 Y" q% X4 y1 r4 }4 X
  Encode=returnValue * K4 F$ ]' X  p: \. n: `0 F
  else * c- G, i! X! J. c  z
  mod3String=lenString mod 3 % K" A6 A, F9 u; Y5 k
  '补足位数是为了便于计算 . Y7 u) I5 h+ Q
  if mod3String>0 then ; R& l- q8 l. d* l, a1 ?, }0 }
  lenString=lenString+3-mod3String
3 [  ]. Z, O4 I% U: P  lenString=lenString-3 - H) O/ l' r0 V: R$ ]/ i/ l
  end if

返回列表