返回列表 发帖

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

class Base64Class
" C/ S3 U) m; P$ f  rem Const . ^. H% y% _, h3 M9 o7 g
  dim sBASE_64_CHARACTERS'转化码 ! D/ Q6 y. C# j4 x0 r  \" s# _
  dim lenString '计算字符串的长度 3 W, e" D" Z, i+ l. A. ?- j
  dim iCount '计数器 - e! @0 ?* u/ B: g3 e0 z/ ~
  dim returnValue '返回值
  Z( n8 n) l4 ?! l  dim tempChar'缓存字符
' F1 u" h0 V+ M- ?' m! C  dim tempString'缓存字符串
' l! z  |' S( u* Y% ~, y2 c  dim paramString '参数字符串 . L7 d% k% U  Z% a$ C
  dim temHex'缓存缓存十六进制
# w9 E. Z  P$ ~  dim tempLow'缓存低位
/ A  R' W6 z: m. N# R4 `  d  dim tempHigh'缓存高位
8 b. e$ q6 C9 ^) |9 c3 i, Z  dim mod3String'
; k0 e9 _1 E2 ?" w  dim mod4String'
9 a1 x9 _1 h1 S1 X; v4 O9 [! y  dim tempBinary'
+ b) P5 {* C1 L' O& @. B  dim tempByteOne' 3 k+ w  e0 Y% H) W& d7 ?* [& j
  dim tempByteTwo' ; Q2 X$ M" p4 `4 `) ]+ {1 a
  dim tempByteThree'
* X4 E9 V  `9 ^; A, w6 i& W  dim tempByteFour'
6 E7 @3 I( R' f  dim tempSaveBitsOne' $ D1 A# \4 y& c, K- s/ {
  dim tempSaveBitsTwo' 3 C/ _4 y" u8 l& J
  '********************************************& Q+ m5 K- E4 m( e. X; G( `* j
  'begin初始化类
7 d/ G5 P9 U" W" @* D9 @$ s0 P% `  '********************************************
* ^) B$ ~" k$ f% t+ |  r9 t* S  private sub Class_Initialize()
1 |' }% y! F, p7 l+ c$ G$ z% y  sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" end sub + E- K( W3 h0 M+ Z  e" @
  '********************************************
# Z% V3 o& Q1 e  'end初始化类 ') d& Q9 n: a9 M" l8 W/ ?: f
  ********************************************
  F! y3 r! v: U  '********************************************
$ J4 [* {3 k+ n2 Z  'begin销毁类 0 ]! p" @6 E' ]# L; I
  '******************************************** / X( }! g9 s9 Q# C
  Private Sub Class_Terminate() * j/ b- l1 q9 J+ J% E5 M$ x
  sBASE_64_CHARACTERS="" end sub 1 e9 m; s1 A# q; U, D
  '********************************************
5 X$ s! k" V  b  'end销毁类 / N' C8 q* x; ]% m+ d+ _* V) {
  '********************************************
* M% A; X5 X* J2 J: y, P  '******************************************** ' r' l7 s6 O& s4 @0 b
  'begin将Ansi编码的字符串进行Base64编码 3 `. k; M- I' L. U" M  J$ r
  '******************************************** " }$ l- R. j+ D) E- t, ~; p8 _. g
  public function Encode(paramString)
& }3 ]$ w5 K/ }$ @3 _  tempString="" 5 I* ?* X- @) C( Z" C+ z# X
  returnValue="" , p- k% u! T# I8 w9 S
  lenString=len(paramString)
. a8 e# s( e* G1 }$ T' Y  if lenString<1 then
& }# c* N$ l% S) Z% Y  Encode=returnValue , I' x! u4 t( \6 v
  else
4 d- J1 U* H: a$ X  mod3String=lenString mod 3 , q& h, N8 o5 b/ E. M3 O
  '补足位数是为了便于计算 8 n' {1 e1 Y  L3 ^
  if mod3String>0 then 9 A' A0 H" ^/ L: V9 y
  lenString=lenString+3-mod3String
& {; C5 ~5 [# q  lenString=lenString-3
/ F# K1 [0 m( L& K6 n  S" ^' i" Q6 ^  end if

返回列表