专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Asp教程 » asp加密解密:asp中加密与解密对应的函数 »正文

asp加密解密:asp中加密与解密对应的函数

来源: 发布时间:星期四, 2009年2月12日 浏览:251次 评论:0


在ASP中加密思路方法有对应解密思路方法好象不多,现在根据前辈资料整理出在asp中加密和解密

rsa.asp
<%
rem 在ASP中实现加密和解密,加密思路方法:根据RSA
rem 联系:[email protected]
Class clsRSA

  Public PrivateKey
  Public PublicKey
  Public Modulus
  
  
  
  Public Function Crypt(pLngMessage, pLngKey)
    On Error Resume Next
    Dim lLngMod
    Dim lLngResult
    Dim lLngIndex
    If pLngKey Mod 2 = 0 Then
      lLngResult = 1
      For lLngIndex = 1 To pLngKey / 2
        lLngMod = (pLngMessage ^ 2) Mod Modulus
        \' Mod may error _disibledevent=>        If Err Then Exit Function
      Next
    Else
      lLngResult = pLngMessage
      For lLngIndex = 1 To pLngKey / 2
        lLngMod = (pLngMessage ^ 2) Mod Modulus
        On Error Resume Next
        \' Mod may error _disibledevent=>        If Err Then Exit Function
      Next
    End If
    Crypt = lLngResult
  End Function



  Public Function Encode(ByVal pStrMessage)
    Dim lLngIndex
    Dim lLngMaxIndex
    Dim lBytAscii
    Dim lLngEncrypted
    lLngMaxIndex = Len(pStrMessage)
    If lLngMaxIndex = 0 Then Exit Function
    For lLngIndex = 1 To lLngMaxIndex
      lBytAscii = Asc(Mid(pStrMessage, lLngIndex, 1))
      lLngEncrypted = Crypt(lBytAscii, PublicKey)
      Encode = Encode & NumberToHex(lLngEncrypted, 4)
    Next
  End Function
  
  Public Function Decode(ByVal pStrMessage)
    Dim lBytAscii
    Dim lLngIndex
    Dim lLngMaxIndex
    Dim lLngEncryptedData
    Decode = \"\"
    lLngMaxIndex = Len(pStrMessage)
    For lLngIndex = 1 To lLngMaxIndex Step 4
      lLngEncryptedData = HexToNumber(Mid(pStrMessage, lLngIndex, 4))
      lBytAscii = Crypt(lLngEncryptedData, PrivateKey)
      Decode = Decode & Chr(lBytAscii)
    Next
  End Function
  
  Private Function NumberToHex(ByRef pLngNumber, ByRef pLngLength)
    NumberToHex = Right(String(pLngLength, \"0\") & Hex(pLngNumber), pLngLength)
  End Function

  Private Function HexToNumber(ByRef pStrHex)
    HexToNumber = CLng(\"&h\" & pStrHex)
  End Function

End Class
%>



test.asp
<!--#INCLUDE FILE=\"RSA.asp\"-->
<%
function Encryptstr(Message)
Dim LngKeyE
Dim LngKeyD
Dim LngKeyN
Dim StrMessage
Dim ObjRSA


  LngKeyE = \"32823\"
  LngKeyD = \"20643\"
  LngKeyN = \"29893\"
  StrMessage = Message
  
  Set ObjRSA = New clsRSA
  
 
      ObjRSA.PublicKey = LngKeyE
      ObjRSA.Modulus = LngKeyN
      Encryptstr = ObjRSA.Encode(StrMessage)
  Set ObjRSA = Nothing
end function




function decryptstr(Message)
Dim LngKeyE
Dim LngKeyD
Dim LngKeyN
Dim StrMessage
Dim ObjRSA


  LngKeyE = \"32823\"
  LngKeyD = \"20643\"
  LngKeyN = \"29893\"
  StrMessage = Message
  
  Set ObjRSA = New clsRSA

      ObjRSA.PrivateKey =LngKeyD
      ObjRSA.Modulus=LngKeyN
      decryptstr=ObjRSA.Decode(StrMessage)
  Set ObjRSA = Nothing
end function



dim last,first
first=\"sohu\"
Response.Write \"加密前为:\"&first
last=Encryptstr(first)
Response.Write \"加密后为\"&last
Response.Write \"解密后为\" &decryptstr(last)

%>

0

相关文章

读者评论

  • 1ssada(222.244.157.*) 发布于:星期五, 2008年12月12日
    sdasd

发表评论

  • 昵称:
  • 内容: