ASP编程 PHP编程 JSP编程 NET编程 CGI编程 XML编程 
Google adsense申请技巧本站核心代理域名注册主机业务 快速发布你的买卖域名买卖网站信息 1元注册 cn域名
站长每日新闻导读 √ ·推荐万网空间¥120元 150m 站长网:站长必上的网站网站联盟大全本站代理万网域名55空间120元
 2006-12-10 05:32:45

一段在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)

%>
网站地图 - 域名注册续费虚拟主机代理 - 交易论坛 - 网站投稿 - 广告服务 - 帮助中心 - 联系我们
Copyright ©2003-2007 www.Admin5.com All Rights Reserved