• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    一段在asp中加密与解密对应的函数
    POST TIME:2021-10-18 07:04
    在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)

    %>
    上一篇:在asp中通过vbs类实现rsa加密与解密的代码
    下一篇:通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信