频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

一段在asp中加密与解密对应的函数

来源: 作者: 出处:巧巧读书 2006-03-26 进入讨论组


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)

%>

转 载:http://www.qqread.com/aspdotnet/c872927000.html 更多文章 更多内容请看加密与解密技术常用软件加密宝典数据加密技术专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章