首页 电脑 电脑学堂 查看内容

asp中加密与解密对应的函数

2005-2-20 07:01 635 0

摘要: 来源:http://www.infosecurity.org.cn/ 在ASP中加密方法有对应的解密方法好象不多,现在根据前辈资料整理出在asp中加密与解密函数rsa.asp<%rem 在AS...
关键词: 加密 方法 ASP infosecurity 前辈 函数 来源 asptest 现在 资料

来源:http://www.infosecurity.org.cn/ 在ASP中加密方法有对应的解密方法好象不多,现在根据前辈资料整理出在asp中加密与解密函数rsa.asp<%rem 在ASP中实现加密与解密,加密方法:根据RSArem 联系:[email protected] clsRSAPublic PrivateKeyPublic PublicKeyPublic ModulusPublic Function Crypt(pLngMessage, pLngKey)On Error Resume NextDim lLngModDim lLngResultDim lLngIndexIf pLngKey Mod 2 = 0 ThenlLngResult = 1For lLngIndex = 1 To pLngKey / 2lLngMod = (pLngMessage ^ 2) Mod Modulus' Mod may error on key generationlLngResult = (lLngMod * lLngResult) Mod Modulus If Err Then Exit FunctionNextElselLngResult = pLngMessageFor lLngIndex = 1 To pLngKey / 2lLngMod = (pLngMessage ^ 2) Mod ModulusOn Error Resume Next' Mod may error on key generationlLngResult = (lLngMod * lLngResult) Mod ModulusIf Err Then Exit FunctionNextEnd IfCrypt = lLngResultEnd FunctionPublic Function Encode(ByVal pStrMessage)Dim lLngIndexDim lLngMaxIndexDim lBytAsciiDim lLngEncryptedlLngMaxIndex = Len(pStrMessage)If lLngMaxIndex = 0 Then Exit FunctionFor lLngIndex = 1 To lLngMaxIndexlBytAscii = Asc(Mid(pStrMessage, lLngIndex, 1))lLngEncrypted = Crypt(lBytAscii, PublicKey)Encode = Encode & NumberToHex(lLngEncrypted, 4)NextEnd FunctionPublic Function Decode(ByVal pStrMessage)Dim lBytAsciiDim lLngIndexDim lLngMaxIndexDim lLngEncryptedDataDecode = ""lLngMaxIndex = Len(pStrMessage)For lLngIndex = 1 To lLngMaxIndex Step 4lLngEncryptedData = HexToNumber(Mid(pStrMessage, lLngIndex, 4))lBytAscii = Crypt(lLngEncryptedData, PrivateKey)Decode = Decode & Chr(lBytAscii)NextEnd FunctionPrivate Function NumberToHex(ByRef pLngNumber, ByRef pLngLength)NumberToHex = Right(String(pLngLength, "0") & Hex(pLngNumber), pLngLength)End FunctionPrivate Function HexToNumber(ByRef pStrHex)HexToNumber = CLng("&h" & pStrHex)End FunctionEnd Class%>test.asp<!--#INCLUDE FILE="RSA.asp"--><%function Encryptstr(Message)Dim LngKeyEDim LngKeyDDim LngKeyNDim StrMessageDim ObjRSALngKeyE = "32823"LngKeyD = "20643"LngKeyN = "29893"StrMessage = MessageSet ObjRSA = New clsRSAObjRSA.PublicKey = LngKeyEObjRSA.Modulus = LngKeyNEncryptstr = ObjRSA.Encode(StrMessage)Set ObjRSA = Nothingend functionfunction decryptstr(Message)Dim LngKeyEDim LngKeyDDim LngKeyNDim StrMessageDim ObjRSALngKeyE = "32823"LngKeyD = "20643"LngKeyN = "29893"StrMessage = MessageSet ObjRSA = New clsRSAObjRSA.PrivateKey =LngKeyDObjRSA.Modulus=LngKeyNdecryptstr=ObjRSA.Decode(StrMessage)Set ObjRSA = Nothingend functiondim last,firstfirst="sohu"Response.Write "加密前为:"&firstlast=Encryptstr(first)Response.Write "加密后为"&lastResponse.Write "解密后为" &decryptstr(last)%>
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部