一段在ASP中加密与解密对应的函数-在ASP中加密方法有对应的解密方法好象不多,现在根据前辈资料整理出在asp中加密与解密函数 rsa.asp % rem 在ASP中实现加密与解密,加...

建站技术分享网

建站技术分享网
首页>> asp >>一段在ASP中加密与解密对应的函数
在ASP中加密方法有对应的解密方法好象不多,现在根据前辈资料整理出在asp中加密与解密函数
   
  rsa.asp
  <%
  rem 在ASP中实现加密与解密,加密方法:根据RSA
  rem 联系:hnsoso@sina.com
  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 on key generation
          lLngResult = (lLngMod * lLngResult) Mod Modulus
          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 on key generation
          lLngResult = (lLngMod * lLngResult) Mod Modulus
          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)
   
  %>

本篇文章来自<A href='http://www.soidc.net'>IDC专家网</a> 原文链接:http://www.soidc.net/articles/1213781277395/20051023/1214038265411_1.html

×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

打赏作者
版权所有,转载注意明处:FEIBA分享博客 » 一段在ASP中加密与解密对应的函数

发表评论

路人甲

网友评论(0)