学院首页>网络编程>ASP>用Asp写个加密和解密的类

用Asp写个加密和解密的类

作者: 来源: 添加时间:2006-5-21 18:41:55
*************************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处理最后剩余的几个字符

  if mod3String>0 then

  tempBinary = Mid(paramString, iCount, mod3String)

  if mod3String=1 then

  tempString = tempBinary & Chr(64) & Chr(64) &Chr(64)用@号补足位数

  else tempString = tempBinary & Chr(64) &Chr(64)用@号补足位数

  end if

  returnValue=returnValue & tempString

  end if

  *************************end处理最后剩余的几个字符

  Encode=returnValue end if end function

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

  end将Ansi编码的字符串进行Base64编码

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

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

  end将Base64编码字符串转换成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 字符串长度应当是4的倍数

  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

  处理最后剩余的几个字符

  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编码字符串转换成Ansi编码的字符串

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

  作者:CSDN pxjianke

第 2 页,共 2 页 [1] [2]
站内搜索