成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

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

2010-08-28 10:45:39來源:西部e網(wǎng)作者:

    用asp寫個(gè)簡單的加密和解密的類,在這個(gè)類中簡單的實(shí)現(xiàn)了一個(gè)加密和解密。目的是和大家分享一下。這個(gè)類的破解非常簡單。看看我的注釋就知道是怎么回事了。下次編寫一個(gè)java的加密和解密的類。

  class Base64Class

  rem Const

  dim sBASE_64_CHARACTERS轉(zhuǎn)化碼

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

  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
 

  *************************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)用@號補(bǔ)足位數(shù)

  else tempString = tempBinary & Chr(64) &Chr(64)用@號補(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 字符串長度應(yīng)當(dāng)是4的倍數(shù)

  Decode=returnValue

  else begin判斷是不是@號

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

  mod4String=2

  end if

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

  mod4String=1

  end if

  end判斷是不是@號

  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編碼的字符串

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

關(guān)鍵詞:Asp

贊助商鏈接:

主站蜘蛛池模板: 克什克腾旗| 平武县| 石嘴山市| 乐昌市| 清远市| 大荔县| 巫山县| 安多县| 隆林| 津南区| 丰台区| 拜城县| 莒南县| 永新县| 黄浦区| 连平县| 二手房| 龙川县| 临洮县| 凉城县| 鹤山市| 澄迈县| 武强县| 郎溪县| 弋阳县| 开江县| 广州市| 桂东县| 镇雄县| 五华县| 鹤壁市| 泰宁县| 广宗县| 景洪市| 淮北市| 中江县| 金塔县| 闸北区| 长汀县| 那曲县| 福海县|