熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

用ASP寫個簡單的加密和解密的類實例

2013-11-13 09:57:29  來源: .NET編程 

  用asp寫個簡單的加密和解密的類在這個類中簡單的實現了一個加密和解密目的是和大家分享一下這個類的破解非常簡單看看我的注釋就知道是怎麼回事了下次編寫一個java的加密和解密的類
  
  class BaseClass
  rem Const
  dim sBASE__CHARACTERS轉化碼
  dim lenString 計算字符串的長度
  dim iCount 計數器
  dim returnValue 返回值
  dim tempChar緩存字符
  dim tempString緩存字符串
  dim paramString 參數字符串
  dim temHex緩存緩存十六進制
  dim tempLow緩存低位
  dim tempHigh緩存高位
  dim modString
  dim modString
  dim tempBinary
  dim tempByteOne
  dim tempByteTwo
  dim tempByteThree
  dim tempByteFour
  dim tempSaveBitsOne
  dim tempSaveBitsTwo
  ********************************************
  begin初始化類
  ********************************************
  private sub Class_Initialize()
  sBASE__CHARACTERS = ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/ end sub
  ********************************************
  end初始化類
  ********************************************
  ********************************************
  begin銷毀類
  ********************************************
  Private Sub Class_Terminate()
  sBASE__CHARACTERS= end sub
  ********************************************
  end銷毀類
  ********************************************
  
  ********************************************
  begin將Ansi編碼的字符串進行Base編碼
  ********************************************
  public function Encode(paramString)
  tempString=
  returnValue=
  lenString=len(paramString)
  if lenString< then
  Encode=returnValue
  else
  modString=lenString mod
  補足位數是為了便於計算
  if modString> then
  lenString=lenString+modString
  lenString=lenString
  end if
  
  *************************begin
  for iCount= to lenString step
  tempBinary = Mid(paramString iCount )
  responsewrite tempBinary
  tempByteOne= Asc(Mid(tempBinary )): tempSaveBitsOne = tempByteOne And
  tempByteTwo = Asc(Mid(tempBinary )): tempSaveBitsTwo = tempByteTwo And
  tempChar = Asc(Mid(tempBinary ))
  tempByteOne = Mid(sBASE__CHARACTERS ((tempByteOne And ) \ ) + )
  tempByteTwo = Mid(sBASE__CHARACTERS (((tempByteTwo And ) \ ) Or (tempSaveBitsOne * ) And &HFF) + )
  tempByteThree = Mid(sBASE__CHARACTERS (((tempChar And ) \ ) Or (tempSaveBitsTwo * ) And &HFF) + )
  tempByteFour = Mid(sBASE__CHARACTERS (tempChar And ) + )
  tempString = tempByteOne & tempByteTwo & tempByteThree & tempByteFour returnValue=returnValue & tempString next
  *************************end
  *************************begin處理最後剩余的幾個字符
  if modString> then
  tempBinary = Mid(paramString iCount modString)
  if modString= then
  tempString = tempBinary & Chr() & Chr() & Chr() 用@號補足位數
  else tempString = tempBinary & Chr() & Chr() 用@號補足位數
  end if
  returnValue=returnValue & tempString
  end if
  *************************end處理最後剩余的幾個字符
  Encode=returnValue end if end function
  ********************************************
  end將Ansi編碼的字符串進行Base編碼
  ********************************************
  ********************************************
  end將Base編碼字符串轉換成Ansi編碼的字符串
  ********************************************
  public function Decode(paramString)
  tempString=
  returnValue=
  lenString=len(paramString)
  if lenString< then
  Decode=returnValue
  else
  modString=lenString mod
  if modString > then 字符串長度應當是的倍數
  Decode=returnValue
  else begin判斷是不是@號
  if Mid(paramString lenString ) = @ then
  modString=
  end if
  if Mid(paramString lenString ) = @ then
  modString=
  end if
  end判斷是不是@號
  if modString> then
  lenString=lenString
  end if
  
  ******************************begin
  for iCount= to lenString step
  tempString = Mid(paramString iCount )
  tempByteOne = InStr(sBASE__CHARACTERS Mid(tempString ))
  tempByteTwo = InStr(sBASE__CHARACTERS Mid(tempString ))
  tempByteThree = InStr(sBASE__CHARACTERS Mid(tempString ))
  tempByteFour = InStr(sBASE__CHARACTERS Mid(tempString ))
  tempByteOne = Chr(((tempByteTwo And ) \ ) Or (tempByteOne * ) And &HFF) tempByteTwo = & Chr(((tempByteThree And ) \ ) Or (tempByteTwo * ) And &HFF)
  tempByteThree = Chr((((tempByteThree And ) * ) And &HFF) Or (tempByteFour And ))
  tempString=tempByteOne & tempByteTwo & tempByteThree
  returnValue=returnValue & tempString
  next
  ******************************end
  處理最後剩余的幾個字符
  if modString > then
  tempString=left(right(paramString)modString)
  returnValue = returnValue & tempString
  end if
  Decode=returnValue
  end if
  end if
  end function
  ********************************************
  end將Base編碼字符串轉換成Ansi編碼的字符串
  ********************************************
  
  end class
From:http://tw.wingwit.com/Article/program/net/201311/12110.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.