明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

用Asp寫個(gè)加密與解密的類

[摘要]用asp寫個(gè)簡(jiǎn)單的加密和解密的類,在這個(gè)類中簡(jiǎn)單的實(shí)現(xiàn)了一個(gè)加密和解密。目的是和大家分享一下。這個(gè)類的破解非常簡(jiǎn)單?纯次业淖⑨尵椭朗窃趺椿厥铝。下次編寫一個(gè)java的加密和解密的類! lass Base64Class  rem Const  dim sBASE_64_CHARACTERS轉(zhuǎn)...

  用asp寫個(gè)簡(jiǎn)單的加密和解密的類,在這個(gè)類中簡(jiǎn)單的實(shí)現(xiàn)了一個(gè)加密和解密。目的是和大家分享一下。這個(gè)類的破解非常簡(jiǎn)單?纯次业淖⑨尵椭朗窃趺椿厥铝。下次編寫一個(gè)java的加密和解密的類。

  class Base64Class

  rem Const

  dim sBASE_64_CHARACTERS轉(zhuǎn)化碼

  dim lenString 計(jì)算字符串的長(zhǎng)度

  dim iCount 計(jì)數(shù)器

  dim returnValue 返回值

  dim tempChar緩存字符

  dim tempString緩存字符串

  dim paramString 參數(shù)字符串

  dim temHex緩存緩存十六進(jìn)制

  dim tempLow緩存低位

  dim tempHigh緩存高位

  dim mod3String

  dim mod4String

  dim tempBinary

  dim tempByteOne

  dim tempByteTwo

  dim tempByteThree

  dim tempByteFour

  dim tempSaveBitsOne

  dim tempSaveBitsTwo

  ********************************************

  begin初始化類

  ********************************************

  private sub Class_Initialize()

  sBASE_64_CHARACTERS=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz09+/endsub

  ********************************************

  end初始化類

  ********************************************

  ********************************************

  begin銷毀類

  ********************************************

  Private Sub Class_Terminate()

  sBASE_64_CHARACTERS= end sub

  ********************************************

  end銷毀類

  ********************************************

  ********************************************

  begin將Ansi編碼的字符串進(jìn)行Base64編碼

  ********************************************

  public function Encode(paramString)

  tempString=

  returnValue=

  lenString=len(paramString)

  if lenString<1 then

  Encode=returnValue

  else

  mod3String=lenString mod 3

  補(bǔ)足位數(shù)是為了便于計(jì)算

  if mod3String>0 then

  lenString=lenString+3-mod3String

  lenString=lenString-3


[page_break]*************************begin

  for iCount=1 to lenString step 3

  tempBinary = Mid(paramString, iCount, 3)

  response.write tempBinary

  tempByteOne= Asc(Mid(tempBinary, 1, 1)): tempSaveBitsOne=tempByteOne And 3

  tempByteTwo = Asc(Mid(tempBinary, 2, 1)): tempSaveBitsTwo=tempByteTwo And 15

  tempChar = Asc(Mid(tempBinary, 3, 1))

  tempByteOne = Mid(sBASE_64_CHARACTERS, ((tempByteOne And 252) 4)+ 1, 1)

  tempByteTwo = Mid(sBASE_64_CHARACTERS, (((tempByteTwo And 240)16) Or (tempSaveBitsOne * 16) And &HFF) + 1, 1)

  tempByteThree = Mid(sBASE_64_CHARACTERS, (((tempChar And 192)64) Or (tempSaveBitsTwo * 4) And &HFF) + 1, 1)

  tempByteFour = Mid(sBASE_64_CHARACTERS, (tempChar And 63) +1,1)

  tempString = tempByteOne & tempByteTwo &tempByteThree& tempByteFour returnValue=returnValue &tempStringnext

  *************************end

  *************************begin處理最后剩余的幾個(gè)字符

  if mod3String>0 then

  tempBinary = Mid(paramString, iCount, mod3String)

  if mod3String=1 then

  tempString = tempBinary & Chr(64) & Chr(64) &Chr(64)用@號(hào)補(bǔ)足位數(shù)

  else tempString = tempBinary & Chr(64) &Chr(64)用@號(hào)補(bǔ)足位數(shù)

  end if

  returnValue=returnValue & tempString

  end if

  *************************end處理最后剩余的幾個(gè)字符

  Encode=returnValue end if end function

  ********************************************

  end將Ansi編碼的字符串進(jìn)行Base64編碼

  ********************************************

  ********************************************

  end將Base64編碼字符串轉(zhuǎn)換成Ansi編碼的字符串

  ********************************************

  public function Decode(paramString)

  tempString=

  returnValue=

  lenString=len(paramString)

  if lenString<1 then

  Decode=returnValue

  else

  mod4String=lenString mod 4

  if mod4String >0 then 字符串長(zhǎng)度應(yīng)當(dāng)是4的倍數(shù)

  Decode=returnValue

  else begin判斷是不是@號(hào)

  if Mid(paramString, lenString-1, 1) = @ then

  mod4String=2

  end if

  if Mid(paramString, lenString-2, 1) = @ then

  mod4String=1

  end if

  end判斷是不是@號(hào)

  if mod4String>0 then

  lenString=lenString-4
 

  ******************************begin

  for iCount=1 to lenString step 4

  tempString = Mid(paramString, iCount, 4)

  tempByteOne = InStr(sBASE_64_CHARACTERS, Mid(tempString, 1, 1))-1

  tempByteTwo = InStr(sBASE_64_CHARACTERS, Mid(tempString, 2, 1))-1

  tempByteThree = InStr(sBASE_64_CHARACTERS, Mid(tempString, 3,1))- 1

  tempByteFour = InStr(sBASE_64_CHARACTERS, Mid(tempString, 4, 1))-1

  tempByteOne = Chr(((tempByteTwo And 48) 16) Or (tempByteOne *4)And &HFF) tempByteTwo = & Chr(((tempByteThree And 60)4) Or (tempByteTwo * 16) And &HFF)

  tempByteThree = Chr((((tempByteThree And 3) * 64) And &HFF)Or(tempByteFour And 63))

  tempString=tempByteOne & tempByteTwo & tempByteThree

  returnValue=returnValue & tempString

  next

  ******************************end

  處理最后剩余的幾個(gè)字符

  if mod4String > 0 then

  tempString=center(center(paramString,4),mod4String)

  returnValue = returnValue & tempString

  end if

  Decode=returnValue

  end if

  end if

  end function

  ********************************************

  end將Base64編碼字符串轉(zhuǎn)換成Ansi編碼的字符串

  ********************************************

  作者:CSDN pxjianke