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

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

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

    用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
 

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

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

關(guān)鍵詞:Asp

贊助商鏈接:

主站蜘蛛池模板: 柳河县| 商水县| 中西区| 松潘县| 舒兰市| 荔浦县| 紫金县| 泰安市| 荣成市| 荥阳市| 房山区| 巴彦淖尔市| 巍山| 白朗县| 尖扎县| 柘城县| 合山市| 临猗县| 分宜县| 许昌市| 兴宁市| 资阳市| 林周县| 赤水市| 华亭县| 乐至县| 雷州市| 芦溪县| 甘洛县| 三江| 安溪县| 吴川市| 彝良县| 崇信县| 晋宁县| 东平县| 汾西县| 红原县| 南京市| 普陀区| 合水县|