在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中加密与解密对应的函数

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“一段在asp中加密与解密对应的函数”
暂无“一段在asp中加密与解密对应的函数”评论...

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。