asp加密解密:asp中加密与解密对应的函数来源: 发布时间:星期四, 2009年2月12日 浏览:251次 评论:0
在ASP中加密思路方法有对应解密思路方法好象不多,现在根据前辈资料整理出在asp中加密和解密 rsa.asp <% rem 在ASP中实现加密和解密,加密思路方法:根据RSA rem 联系:[email protected] 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 _disibledevent=> 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 _disibledevent=> 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) %> 0
相关文章读者评论
发表评论 |